Skip to main content

Full text of "MSX Magazine 1-25"

See other formats


ANO II 
Núm. 18 
Nov.1986. 
300 Ptas. 



Unidad de discos 
mterface RS 235 





POBLACION: 

FORMA DE PAGO: 



PROVINCIA: 

ENVIO TALON BANCARIO □ - CONTRA REEMBOLSO □ 



DIRECTOR: 

Juan Arencibia. 

COLABORADORES: 

Octavio López, Angel Zarazaga, 
Teresa Aranda, Ricardo García. 
DISEÑO: 
Benito Gil 
Editada por: 

PUBLINFORM ATICA. S.A. 

C/ Bravo Munllo, 377 - 5 o A 

Tel.: 733 74 13 

28020 Madrid. 

Telex 48877 OPZXE 

PRESIDENTE: 

Fernando Bolín. 

DIRECTOR EDITORIAL 

REVISTAS DE USUARIOS: 

Juan Arencibia. 

DIRECTOR DE VENTAS: 

Antonio González. 

JEFE DE PRODUCCIÓN: 

Miguel Onieva. 

SERVICIO AL CLIENTE: 

Julia González. 

Tel.: 733 79 69 

DIRECCION, REDACCION 

Y ADMINISTRACION: 

C/ Bravo Murillo, 377 - 5.' A. 

Tel.: 733 74 13 

28020 Madrid. 

PUBLICIDAD EN MADRID: 

Emilio García. 

PUBLICIDAD 

EN BARCELONA: 

Lidia Cendros. 

C/ Pelayo, 12. 

Tel.: (93) 301 47 00 Ext. 27-28. 

08001 Barcelona. 

Depósito Legal: M. 16.755-1985 

Impreso en Héroes, S.A. 

C/ Torrelara, 8. 28016 Madrid. 

Distribuye: 

S.G.E.L. Avda. Valdelaparra, s/n. 
Alcobendas (Madrid). 

DISTRIBUIDORES: 

VENEZUELA: SIPAM, S.A. 

Avda. República 
Dominicana, 541 
ARGENTINA: DISTRIBUIDORA 

INTERCONTINENTAL 
BUENOS AIRES. 

El P.V.P. para Ceuta, Mehlla y 
Canarias, incluido servicio aéreo 
será de 300 ptas. sin I.V.A. 



SUSCRIPCIONES 
Rogamos dirija toda la 
correspondencia relacionada con 
suscripciones a 
MSX 

EDISA Tel. 415 97 12 

C/Lopez de Hoyos. 141 5 ° 

28002 MADRID 

(Para todos los pagos reseñar 

solamente MSX) 

Para la compra de ejemplares 

atrasados diríjanse a la propia 

editorial 

MSX 

C/Bravo Murillo, 377 5 ° A 

Tel 733 74 13 28020 MADRID 



Si deseas colaborar en MSX remite tus 
artículos o programas a Bravo Murillo 
377, 5 o A 28020 Madrid Los programas 
deberán estar grabados en cassette y los 
artículos mecanografiados 

A efectos de remuneración, se analiza 
cada colaboración aisladamente, estu 
diandü su complejidad y calidad 




E 



l ste mes se celebra en Madrid SIMO'86. A simple vista, este 
hecho no reviste de mayor importancia, si no fuera por que 
I va a ser el primero que se celebre después de la entrada de 
España en las Comunidades Europeas. Del 14 al 21 de este mes 
se celebrará, en el recinto de IFEMA, esta importante feria que con- 
tará con la participación de 1 .200 expositores de 23 países. 

Contará con cuatro zonas especiales que serán: IN-PROSIMO 
SIMOMICRO, SIMOLOG y SIMODAT. cada una de las cuales con 
un cometido específico. El primero tiene como misión la de facili- 
tar al profesional una visita útil y eficaz. En SIMOMICRO, se exhibi- 
rán desde ordenadores domésticos, hasta ordenadores persona- 
les orientados hacia la pequeña y mediana empresa. 

SIMOLOG presentará programas de aplicación, sistemas de 
explotación y lenguajes de programación, mostrando a su vez, los 
avances del logicíal en este campo. Y en SIMODAT, podremos 
comprobar, la creciente industria de las BASES DE DATOS con 
sus productores y distribuidores. 

En suma, el SIMO'86 se presenta como una ventana abierta al 
futuro, donde se centrará la atención en los avances realizados 
por parte de aquellas empresas que han cambiado el ordenador 
doméstico por el personal. Por otro lado, este mes de noviembre, 
ha traído a nuestras páginas un tema de portada sumamente inte- 
resante, como es el diskette. Las unidades de discos de 3.5 pul- 
gadas están debancando, lenta pero inexorablemente, al eterno 
disco de 5.25 pulgadas. Primero fueron los fabricantes de MSX, 
que en un gran esfuerzo unificaron criterios sobre este periférico, 
luegon aparecieron los IBM PC con dichas unidades, ahora exis- 
ten algunos compatibles PC (como el Toshiba T1 100) que lo in- 
corpora... poco a poco se está asentando en los ordenadores pe- 
queños/medianos, como ocurrió en su momento con los discos 
de 8 pulgadas. ¿A qué es debido semejante cambio? Muchos son 
los factores que han influido en su creciente desarrollo, pero no 
vamos a contar más. En las páginas siguientes, pusimos a los dis- 
kettes bajo la lupa. 



MSX 



MSX 3 




Síntesis de voz para 

MSX (y II). Continuación del 
nteresante artículo sobre sínte- 
sis de voz, muy útil para incorpo- 
rar a nuestros programas. 



Noticias. Nuevos programas 
de ERBE. Investrónica a la con- 
quista del mercado de PC y com- 
patibles. Sony y sus próximos 
productos. 




Los diskettes bajo la lu- 
pa. Este importante periférico 
cuenta con las simpatías de to- 
dos los usuarios. Sin embargo, 
pocos son los que verdadera- 
mente saben cómo funciona. 



Libros. Computación Interacti- 
va. Sistemas. Diálogos. Orienta- 
do hacia la comunicación entre 
ordenador y el usuario. Inteligen- 
cia Artificial y Sistemas Expertos. 
Una breve descripción sobre es- 
te importante y siempre intere- 
sante tema. 






Software. Buenos y entreteni- 
dos programas para todos los 
gustos. Este mes traemos Master 
of the Lamps, BOOM!, Invierte y 
Gana, Calculator New, Hopper y 
Oh Shit! 




Test: RS-232C. El comple- 
mento ideal para cualquier orde- 
nador es el interface RS-232C. 
Con él podremos conectarlo a 
todos los periféricos imagina- 
bles. 



36 



Utilización de ficheros 

de datos. Las aplicaciones 
sobre tratamientos de ficheros 
son muy importantes, sobre todo 
cuando se cuenta con una uni- 
dad de discos, elemento funda- 
mental en este tipo de progra- 
mas. 



I 



o 




BASIC en C/M. Cómo reali- 
zar programas en BASIC aprove- 
chando la potencia y rapidez del 
Código Máquina. 




El BIOS de la Memoria 

de Vídeo. O cómo aprovechar 
todas las posibilidades gráficas 
de los ordenadores MSX. El BIOS 
es el núcleo de la Memoria de 
Vídeo, con él, llegaremos a domi-, 
nar todo lo referente a los gráfi- 
cos. 



52 



SVI 31 8/328, SCREEN 2. 

Gráficos de baja resolución. El 
inesperado éxito de esta sección 
nos ha obligado a continuar con 
el tema. En esta ocasión tratamos 
el modo SCREEN 2. 



58 



Programa: Biblioteca. In- 
teresante programa donde el 
lector comprobará la facilidad de 
crear ficheros con una utilidad 
específica. 



65 



Compro, Vendo. Hemos 
cambiado un poco esta sección 
y facilitado la labor de nuestros 
lectores para que se pongan en 
contacto con la revista y efectúen 
sus intercambios. 



66 



Rincón del lector. Donde 

todas vuestras dudas encontra- 
rán la solución ideal. 




Investrónica, 
¿ordenadores 
o música? 

Investrónica, S.A., empresa líder 
en alta tecnología aplicada a la in- 
dustria textil, informática, etc., y uno 
de los mayores distribuidores de or- 
denadores personales del mercado 
español, se ha introducido en el 
área de los compatibles con la ga- 
ma INVES PC y en el mundo del so- 
nido con la línea INVES. 

La gama de compatibles consta 

Idealogic en 
la vanguardia 



de la 




enseñanza 

Desde sus inicios Idealogic, SA, 
ha sido una empresa puntera en el 
desarrollo y fomento de las aplica- 
ciones dq la informática en sus más 
amplias posibilidades y con espe-, 
cial interés en el ámbito educativo. 

Centre Logo representa uno de 
los puntales de esta empresa para 
el ámbito de la informática aplicada 
a la educación. Desde él, se preten- 
de acercar al educador a las tecno- 
logías y metodologías que requiere 
la utilización de los ordenadores en 
un centro educativo. 

El Centre Logo colabora desde 



de tres configuraciones de distintas 
capacidades y prestaciones: INVES 
PC 256X, INVES PC 640A e INVES 
PC 640X, para adaptarse a las nece- 
sidades empresariales o persona- 
les, tanto de trabajo como de presu- 
puesto. 

Por otro lado, la línea de sonido 
INVES, se inicia con la cadena 100 
HF con giradiscos incorporado. El 
equipo se amplía con el sintoniza- 
dor digital y compact disc CD 300 
HF y por último el Compact Disc CD 
200. 

La novedad de todos los produc- 
tos de Investrónica, SA, radica en 
que posee una de las mejores rela- 
ciones calidad/precio del mercado, 
siendo su punto fuerte las prestacio- 
nes. 



sus inicios con entidades Públicas y 
privadas, como el Gobierno Ando- 
rrano, la Federación de Escuelas 
Religiosas, y muchos otros. Las ex- 
periencias recogidas en este espa- 
cio de tiempo y el interés desperta- 
do, obligará a Idealogic, SA, a ex- 
tender sus actividades a otros luga- 
res como Madrid, Almería, Zaragoza 
y Vigo. 

El lanzamiento de, Omnibus, Mi- 
cro Torno, PROFIL, MANU 3, FAO 2, 
Tarjeta RAM y Tarjeta de Relés, van 
a ser elementos muy útiles para los 
medios educativos, profesionales e 
incluso los hobbistas en muy diver- 
sos campos (electrónica, diseño, ro- 
bótica, mecánica,...). 

Para más información dirigirse a: 
Idealogic, SA 
Valencia, 85 
08029 Barcelona 

Centre Logo 
Entanza, 218 
08029 Barcelona 




Nuevos 
equipos Sony 

Durante el otoño, Sony lanzará al 
mercado español sus nuevos pro- 
ductos. Entre ellos podemos desta- 
car la nueva generación de ordena- 
dores MSX-II y los nuevos periféri- 
cos. 

En lo que a ordenadores se refie- 
re, el nuevo HB-F700S, va a situarse 
por encima del HG-500P. Ello se de- 
be a la incorporación de un ratón, 
una unidad de discos de 1 Mb (720K 
formateados) y diversos programas 
de aplicación. Estos constan de una 
Hoja de Cálculo, un Procesador de 
Textos, una Base de Datos y Gráfi- 
cas de Gestión. Además cuenta con 
todas las importantes cualidades 
del mencionado HB-500P, tales co- 
mo teclado independiente, unidad 
central con todos los conectores, 
etc. 

A un nivel inferior se encuentra el 
HB-F9P. La única diferencia existen- 
te entre éste y el anterior, radica en 
que no lleva unidad de discos incor- 
porada, pero posee todas las impor- 
tantes características de los ordena- 
dores de la II Generación. Esta má- 
quina, orientada hacia el pequeño/ 
mediano usuario, es la opción idó- 
nea para iniciarse en el tema de la 
informática. Al contrario que el ante- 
rior, el software viene incorporado 
en ROM y consta de un Listín Telefó- 
nico, una Agenda Personal, un reloj, 
calendario y calculadora. En cuanto 
a periféricos, cabe señalar el impor- 
tante paso que se ha dado. Con la 
aparición del SDC-600S grabador/ 
reproductor de cassette de alta velo- 
cidad, se ha llegado a obtener algo 
que parecía difícil si no imposible, 
un cassette especialmente prepara- 
do para ordenador (y no esos apara- 
tos que dicen que lo son, sólo para 
comprobar que a los tres días ya no 
funcionan). Dispone de dos veloci- 
dades de reprodución, además de 
un selector de fase para evitar los 
problemas de carga. 
El HBI-232 cartucho de comuni- 



caciones, permite conectar los HIT- 
BIT con cualquier ordenador que 
posea el mterface RS-232C, bien di- 
rectamente o mediante un modem. 

La impresora matricial PRN-M09 
tiene una velocidad de impresión de 
75 caracteres/seg. Dispone de tres 
tamaños de letra pudiéndose impri- 
mir en alta calidad (NLQ). 



Por último, lo que todos estába- 
mos esperando, el joystick profesio- 
nal (JS-70). Su característica princi- 
pal es una palanca corta y fuerte, si- 
milar a las que hay en las máquinas 
de arcade, dispuesta en una carca- 
sa sólida y ancha con dos pulsado- 
res que permiten una desenvoltura 
total para diestros y zurdos. 



Nuevo 




prograi 


ñas 


de ERB 





ERBE empresa distribuidora de 
programas de casas tan conocidas 
como Melbourne House, Ocean... va 
a lanzar al mercado dos programas 
muy buenos, además de un paque- 
te compuesto por los diez éxitos del 
año a un precio que hará temblar y 
tambalear el negocio de los piratas. 

Los dos juegos en cuestión son: 



Las Tres Luces de Glaurung y B.C. II, 
Grog's Revenge. Ambos son entre- 
tenidos y muy buenos, aunque por 
razones de tiempo no hemos podi- 
do comentarlos para este mes. Lo 
haremos el mes que viene en nues- 
Iras páginas habituales. 

Por otro lado, la aparición de un 
paquete de 10 programas que han 
sido éxito durante el presente año, a 
un precio de 3.995 ptas., significa 
un claro empuje por parte de ERBE 
para contrarestrar el negocio pirata. 
El paquete consta de los programas 
siguientes: Showjumper, Alien-8, 
Knight Lore, Gunfright, Nightshade,' 
Jack the Nipper, Valkyer, Bounder! 
Mapgame y Jet Set Willy II. 



MSX 7 



Los diskettes 
bajo la lupa 

Un examen exhaustivo de las características 
del medio de almacenamiento masivo ideal para 
ordenadores domésticos. 




Cualquier usuario que haya 
jsufrido las incomodidades 
_ del uso de una cinta cas- 
sette para guardar programas u 
otros datos sentirá una inmediata 
satisfacción la primera vez que 
use un disco. En efecto, la rapidez 
y simpleza de manejo de este ele- 
mento contrastan de forma espec- 
tacular con la lentitud del cassette. 
Recurriendo a los números, si con 
la cinta las velocidades de trans- 
misión de datos son de 1.200 ó 
2.400 baudios (bits por segundo), 
con el disco pasamos a tener la 
«astronómica» velocidad de 
250.000 baudios; esto quiere de- 
cir que un programa de 16 Kbytes 
tarda de 1 a 2 minutos en cargar 
con un cassette, mientras que 
usando el disco tardaría sólo i 1 se- 
gundo! 

Existe otra ventaja importante 
en el uso del diskette: es, al contra- 
rio de la cinta, un soporte FORMA- 
TEADO. El formateo es una opera- 
ción que se efectúa antes de usar 
por primera vez un disco virgen (o 
sea, sin nada grabado). En ella se 
graban sobre la superficie del dis- 
co una serie de señales magnéti- 
cas que servirán, en su momento, 



Fofo 1 . Discos de 3.5 pulgadas de simple 
y doble cara. 



como referencia para localizar los 
ficheros grabados; con esto se so- 
lucionan dos importantes proble- 
mas: localizar un determinado fi- 
chero, sin tener que pasar antes 
por todos los demás como ocurre 
con la cinta, y tener la seguridad 
de que al grabar un nuevo fichero 
no lo hacemos sobre otro que nos 
interesa conservar. 

El único inconveniente de los 
discos es su precio, relativamente 
alto, y el de los dispositivos («dri- 
ves») necesarios para usarlos. Es- 







A. 


/VU--¿> =É 17 H: 

J 



MSX 9 



en portada 



te precio está justificado en que 
los sistemas de disco son muy es- 
pecíficos, ya que sólo pueden 
usarse en ordenadores. Por otra 
parte, la sencillez de manejo del 
disco oculta el complejo mundo 
de los detalles propios del disket- 
te, así como de los dispositivos 
físicos (controlador, drive) y lógi- 
cos (sistemas operativos) que nos 
permiten usarlo. 

Tipos de diskettes 

El diskette (llamado también 
floppy disk o disco flexible) es una 
lámina circular de mylar (material 
plástico), recubierta de un óxido 
que le da una superficie similar a 
la de una cinta de grabación mag- 
nética. El disco va encerrado en 
una funda que lo protege de su- 
ciedad y deformaciones. El disco 
no se saca nunca de esta funda; 
ésta lleva una serie de aberturas 
que permiten hacer girar el disco y 
leer su superficie. 

El tamaño de los discos no se 
encuentra totalmente normaliza- 



TAMAÑO 




^ l/~ pul 


¿pacías 






OyJL 


65)2 


881 


882 




1 1 í> 




112 


112 


TiJU i:(YTUl. I U 










TT A T TF1 /TlY'I'i 


c II0F8 


&H0£*3 


i Uf/ÍFA 


C.II0F13 


BJfetyTIKXGAJüli ) 












1 


2 


i 


o 


GAHAtí 












S0 


80 


80 




CAMA 












V 




a 


8 


PISTA 










BYTüfií i'OK 


312 


2512 


312 


312 












• > 




2 


2 


CLU¿i\c*u 














3 


1 


2 


FAT 














o 


2 


2 


NUKfc&tL ü~ 










FATS 










GAirACJ-Üi^iJ 










TOTAi- (iilT^o) 




737 • ~w 


327.Ó80 


63>.360 



Figura 1. Características de los discos de 3.5 pulgadas. 

do. Los más corrientes son los de patibles entre sí, ya que los drives 
8, 5 1/4, 3 1/2 y 3 pulgadas. Estos se hacen a la medida del diskette. 
formatos son físicamente incom- La compatibilidad viene dada 



Figura 2. Descripción del disco de 5.25 pulgadas. 



DISKETTE DE 5 1/4 PULGADAS 



ETIQUETAS 



MUESCA DE PROTECCION 
CONTRA ESCRITURA 



I 



10 MSX 




HUECO PARA EL EJE DE GIRO 
ANILLO DE REFUERZO 
ORIFICIO DE ALINEACION 

RANURA DE ACCESO DE LA 
CABEZA MAGNETICA 







3 1/* ¿-til 


u adas 




FORliATO 


k VI 




4ol 




A DüdECTOttXO 


6k 


112 


Os 


112 


FATXD ( bYTh 

jdlmlIficadüu) 


c.lL/FC 




c liy)FE 


uIÍ0FF 


NUKLKO Di; 
CA1¿AS 


1 


o 


1 


2 


PISTAS POR 
CA14A 










SKCTÜIüjS poh PISTA 


9 




8 


8 


BYTES POR 
SECTOR 


512 


31 2 


512 


512 


SECTORES POR 
CLUSTER 


1 


2 


1 


2 


SECT01tr,¿ POR 
FAT 


i 


2 


1 


2 


NUMERO DE 
FATS 


2 


2 


2 


2 


CAPACIDAD 
TOTAL (DYTES) 


164.320 


368.6^0 


163. 


327.680 



F/gura 3. Características de los discos de 5.25 pulgadas. 

no sólo por el tamaño, sino tam- Los diskettes pueden tener una 

bién por la forma en que se gra- o dos caras, dependiendo de que 

ban los datos; esta característica el drive tenga una o dos cabezas 

depende de la electrónica del in- magnéticas. Los drives de dos ca- 

terface (o controlador) y del siste- bezas pueden usar indistintamen- 

ma operativo. te diskettes de una o dos caras, sin 

Figura 4. Descripción del disco de 3.5 pulgadas. 



embargo un drive de una sola ca- 
beza sólo podrá leer, evidente- 
mente, discos de una sola cara; 
esto es lo que suele llamarse 
«compatibilidad ascendente». 

El último aspecto característico 
de los discos es la «densidad de 
grabación», que es un indicador 
de cuanta capacidad puede tener 
físicamente el disco. Puede ser 
simple o doble. 

MSX y los diskettes 

El criterio aplicado al ampliar la 
norma MSX a los diskettes es muy 
liberal, podríamos incluso decir 
que en exceso. Se aceptan dos ta- 
maños (5 1/4 y 3 1/2 pulgadas) en 
versión de una o dos caras. Para 
colmo, por cada uno de estos for- 
matos físicos hay 2 tipos de posi- 
bles de formato magnético; esto 
da 8 posibles combinaciones. Es- 
ta diversidad tiene la ventaja de 
ofrecer una gama de precios más 
amplia, pero falla a la hora de la to- 
tal compatibilidad. Para asegurar- 
nos de que un disco es totalmente 
compatible con nuestro sistema 
debemos comprobar que tiene el 
tamaño apropiado y que su núme- 
ro de caras es igual o menor que 
el correspondiente a nuestro drive. 



DISKETTE 
DE 3 1/2" 

CARA 

SUPERIOR • 



ORIFICIO DE 
PROTECCION 
CONTRA ESCRITURA 




LENGÜETA DE PROTECCION 



RANURA 
DE 

ACCESO 



EJE DE 
GIRO 




CARA 
INFERIOR 



PESTAÑA DESLIZANTE 



MSX 11 



en portada 



La tendencia actual apunta al 
uso generalizado del formato de 3 
1/2 pulgadas, ya que ocupan me- 
nos espacio, tienen una capaci- 
dad muy grande y son más mane- 
jables por estar totalmente prote- 
gidos dentro de una funda de 
plástico rígido. La mayor parte de 
los drives existentes en el merca- 
do corresponden a este formato 
(el único drive de 5 1/4" disponi- 
ble, de momento, es el Spectraví- 
deo SVI-707). 



/ 




Funcionamiento del 
diskette 



Para leer o grabar información 
se hace girar el disco a gran velo- 
cidad (300 r.p.m.). Los datos se 
transmiten a través de una cabeza 
magnética que recorre pistas 
(tracks) concéntricas sobre la su- 
perficie del disco; la cabeza puede 
moverse en sentido radial, con lo 
que pueden recorrerse las dos di- 
mensiones de dicha superficie. Es 
importante hacer notar el hecho 
de que, a diferencia de los discos 
sonoros en los que la aguja traza 
una espiral continua, en los disket- 



Foto 2. Unidad de discos de Mitsubishi ML-30FD, un potente periférico. 



tes la cabeza salta radialmente al 
completar una pista. 

Las pistas se dividen en secto- 
res; la división en pistas y sectores 
se hace durante el formateo. En 
los sistemas MSX cada pista tiene 
8 ó 9 sectores de 512 bytes. Un 
sector es la cantidad mínima de 
información que se puede leer o 
escribir en el disco; esto se debe al 
uso de una técnica llamada DMA 
(Direct Memory Access o Acceso 
Directo a Memoria). En ella, el sis- 
tema usa un área de RAM donde 
recoge o deposita la información 
transferida desde o hacia el disco; 
el controlador tratará esta informa- 



Foto 3. Su acabado y la disposición vertical permiten ponerlo en cualquier lugar. 




ción como un todo. Este sistema 
tiene la desventaja de desaprove- 
char espacio en RAM y en el dis- 
kette, pero aumenta enormemen- 
te la velocidad con que se transfie- 
ren los datos. 

Organización de un 
diskette 

La forma en que trabaja el dis- 
kette es muy diferente, desde el 
punto de vista del software, a la del 
cassette. Simplificando conceptos 
podemos decir que el disco traba- 
ja en dos dimensiones, mientras 
que la cinta lo hace en una. He- 
mos visto cómo el ordeandor ha 
«parcelado» el disco en sectores; 
sería muy complicado que el 
usuario llevase un control de cuál 
es el contenido de cada sector. Es- 
te trabajo lo lleva el Sistema Ope- 
rativo, manteniendo dos tablas en 
el disco: la FATy el DIRECTORIO. 

El directorio es una lista resumi- 
da del contenido del disco. Por ca- 
da fichero existente hay una EN- 
TRADA al directorio, donde figu- 
ran el nombre del fichero, la fecha 
en que se grabó, el primer «clus- 
ter» que ocupa (un «cluster» está 
formado por 2 sectores consecuti- 
vos, o sea, 1 Kbyte) y su extensión 
en bytes. 



La FAT (File Allocation Table o 
Tabla de Asignación de Ficheros) 
es un mapa numérico del disco. A 
cada elemento de la FA T corres- 
ponde un cluster, e indica si está 
lleno, si queda en él algo de espa- 
cio o si está vacío. La FAT se actua- 
liza cada vez que se graba o borra 
un fichero. 

A los sectores se les asigna un 
número, comenzando por 0, que 
es el primer sector de la pista más 
exterior. Los sectores así numera- 
dos se llaman «sectores lógicos». 
El sector 0 contiene un pequeño 
programa llamado «BOOT» que 
carga el Sistema Operativo cuan- 
do se pone en marcha el ordena- 
dor con un diskette en el drive. A 
continuación vienen las FAT's (to- 
dos los diskettes MSX tienen dos 
FAT's): una ocupa, normalmente, 
los sectores 1 y 2; la otra el 3 y el 4. 
La FAT funciona de la siguiente 
forma: 

BYTE 0 BYTE 1 BYTE 2 
BYTE 3 BYTE 4 FAT 0 

FAT 1 FAT 2 

Comienzo de la FAT 
b7 b6 b5 b4 b3 b2 bi bo 



b3 b2 bi bo bnbiobg b8 
bnbiobg b8 b7 b6 b5 b4 
b7 b6 b5 b4 b3 b2 bi bo 

b b b b bnbiobg b8 

Cada elemento de la FAT es un 
número de 12 bits (3 nibbles): el 
primer elemento se forma con el 
nibble bajo del segundo byte más 
el primer byte, el segundo con el 
tercer byte más el nibble alto del 
segundo byte, el tercer elemento 
como el primero y así sucesiva- 
mente (como se sabe, cada nibble 
es una cifra hexadecimal). Los nú- 
meros así formados nos dirán lo 
siguiente: 

N2N1 No = 000 el cluster co- 
rrespondiente está libre. 

N2N 1 No = FFF el cluster está 
parcialmente ocupado. 

N2N1N0 = otro número (este 
número más uno es el del cluster) 
el cluster está lleno. 

El primer byte de la primera FAT 
(sector 1 del disco) se llama FAT ID 
(FAT INDENTIFIER) y, según vere- 
mos más adelante, sirve para 
identificar el tipo de formato del 
disco. 

El directorio es el bloque de in- 
formación que sigue a la FAT en el 
disco. Cada entrada consta de 32 



bytes; por tanto, por cada sector 
hay 16 entradas. Excepto los dis- 
cos de 5 1/4" y una sola cara, que 
sólo admiten 64 entradas, todos 
los demás pueden tener hasta 1 1 2 
entradas al directorio (7 sectores). 
El formato de cada entrada es el 
siguiente: 

NOMBRE DEL FICHERO 
RESERVADOS 

HORA FECHA 

NO SUELE USARSE 

LONGITUD DEL FICHERO 
EN BYTES 

PRIMER CLUSTER OCUPADO 
POR EL FICHERO 

B 0 B1 B 2 B 3 B 4 B 5 B 6 B 7 

B8 Bg B10 B11 B12 B|3 

B14 B15 B16 B17 B18 B19 

B20 B21 B 2 2 B23 B24 B 2 5 

B26 B27 B28 B2g B30 B31 

El nombre de fichero se rellena 
con espacios hasta totalizar 1 1 by- 
tes. Cuando el primer carácter del 
nombre es HE5, esto indica que 
el fichero ha sido borrado; esta 
operación y el poner a 0 todos los 



Foto 4. El controlador tiene todo lo necesario para manejar debidamente una o dos unidades. 






en portada 



punteros correspondientes en la 
FAT es lo único que ocurre en el 
disco al borrar un fichero; no sería 
complicado escribir un programa 
que recuperase ficheros borrados 
por error (esta función la tienen al- 
gunos sistemas operativos, como 
el MS-DOS en que se denomina 
RECOVEFt). La longitud de fichero 
viene dada en el formato byte ba- 
jo-byte alto. 

A partir del directorio comien- 
zan los clusters que contienen da- 
tos. Los punteros de las FAT y del 
directorio indican la posición de 
cada fichero dentro de esta zona. 

En cada operación que se efec- 
túa con el disco se carga en RAM 
una copia de la FAT, sea para lec- 
tura o para escritura. La transfe- 
rencia del resto de los datos se 
efectuará a través del «buffer» 
DMA. 

En el siguiente cuadro se resu- 
men todas las características estu- 
diadas. En el apartado «FORMA- 
TO», la 1. a cifra indica el número 



de pistas (multiplicar por 1 0), la 2. a 
indica el número de sectores por 
pista y la 3. a el número de cabezas 
del drive (y, por tanto, el número de 
caras del disco). 

En las capacidades indicadas, 
que son las que proporciona el 
formateado, está incluido el espa- 
cio que ocupan el programa 
BOOT (que se graba durante la 
operación de formateo), las FA Ts y 
el directorio; este espacio es, to- 
mando como ejemplo el formato 
891, de 6.144 bytes. 

Medios software de 
acceder al disco 

Con los ordenadores MSX hay, 
en principio, dos formas de acce- 
der a la información contenida en 
diskette: una es el Disk Basic y la 
otra es el MSX-DOS. 

El MSX-DOS (Microsoft exten- 
ded Disk Operating System) es lo 
que puede llamarse un «interface 
software», es decir, una serie de 




no se ui cono mío 

CONTIGO. 




Aprovechando la ocasión, va- 
mos a comentar la aparición en 
nuestro mercado de una unidad 
de discos de Mitsubishi denomi- 
nada ML-30FD. 

Parece ser que Mitsubishi, está 
dispuesto a convertirse en uno de 
los líderes del mercado MSX. Así 
lo demuestra con sus productos 
que, reuniendo una gran calidad a 
un buen acabado, los convierten 
en la mejor baza a la hora de elegir 
un equipo. Este es el caso de la 
unidad de discos con la que va- 
mos a poner punto final a este artí- ' 
culo. 

Las características más desta- 
cadas de dicha unidad son: 

- Usa diskettes de 3.5 pulga- 
das, con capacidad de 1 Mb, 



Unidad 
de discos 
ML 30 FD 

sin formatear, 720 Kb, forma- 
teados en discos de doble 
cara y 360 Kb para discos de 
simple cara. 

— Su velocidad de transmisión 
es de 250 Kbits/segundo. 

— El tiempo de acceso medio 
es de 331 ms. 

— El tiempo de acceso pista- 
pista es de 12 ms, y tiene un 
consumo de energía de 
16W. 

El aspecto externo, acabado en 



cuenta que en el mejor de los ca- 
color negro al igual que el resto de 
los equipos de esta marca, pre- 
senta un aspecto sólido con las si- 
guientes dimensiones: 86 x 270 x 
1 66 mm y pesa aproximádamente 
2,5 kg. A pesar de las dimensiones 
y del peso, esta unidad está dise- 
ñada para trabajar en posición 
vertical, con lo que puede ser co- 
locada en cualquier hueco cerca 
del ordenador. 

El interruptor de puesta en mar- 
cha se encuentra en la parte fron- 
tal, al igual que un led que indica 
su funcionamiento y un pulsador 
de extracción del disco. Lo que 
más llama la atención es, que se 
puede ampliar con otra unidad de 
discos, convirtiéndolos en un peri- 
férico sumamente potente, habida 



14 MSX 



rutinas que sirven para que el 
hardware del diskette responda a 
las órdenes que da el usuario; nor- 
malmente es «transparente» al 
usuario, es decir, este emplea un 
lenguaje de alto nivel (BASIC) pa- 
ra realizar sus programas o ejecu- 
ta programas ya hechos, sin preo- 
cuparse de las actividades del Sis- 
tema, Operativo. Eventualmente 
usará 'funciones de éste (COPY, 
RENAME...), o pasará por él como 
paso intermedio en la carga de 
otros programas o lenguajes. 

El Disk BASIC es una amplia- 
ción del MSX BASIC, que nos da 
acceso a una serie de comandos 
que podremos usar directamente 
o incluir en nuestros programas. 
Su principal ventaja, aparte de la 
velocidad de acceso al disco, es la 
posibilidad de trabajar con fiche- 
ros aleatorios, o sea, aquellos en 
que es posible acceder aun deter- 
minado elemento sin tener que 
cargar los demás desde el disco. 

En los diskettes, al igúal que en 



sos contaremos con dos discos de 
720 Kb, que conjuntamente su- 
man algo más de i 1 Mb! Esta ope- 
ración debe ser sencilla, puesto 
que existe un hueco expresamen- 
te preparado para tal fin. 

En la parte posterior se encuen- 
tra el cable de alimentación y el 
conector para el ordenador. La co- 
nexión al ordenador se realiza 
mediante el interface ML-30DC, 
un controlador que contiene la cir- 
cuitería necesaria para manejar 
una ao las dos unidades, así como 
una ROM con el software que per- 
mita un buen funcionamiento de 
éstas. 

El equipo viene soportado por la 
documentación necesaria para su 
correcto manejo, funcionamiento 
y mantenimiento. Esta documen- 



los cassettes, es posible impedir la 
grabación a voluntad del usuario. 
Para ello, los diskettes de 5 1/4" 
disponen de una muesca que se 
cubre con una etiqueta adhesiva 
(se proporciona con el diskette) 
para impedir la grabación. En los 
diskettes de 3 1/2" el sistema es 
más sencillo: hay un orificio que se 
abre o cierra con una pestaña 
deslizante; cuando está abierto no 
es posible escribir. 

La zona de memoria donde está 
el buffer para DMA puede locali- 
zarse viendo el contenido de la va- 
riable FILTAB; este buffer tiene 5 1 2 
bytes de longitud. A continuación 
aparece la imagen en RAM de la 
FAT; para hacer que se cargue 
basta introducir un comando de 
Disk BASIC que suponga transfe- 
rencia de información (el más có- 
modo es FILES, que lista los fiche- 
ros contenidos en el disco sin alte- 
rar programa o variables). La di- 
rección de inicio de la zona DMA 
viene dada por 



FILTAB - PEEK(&HF860) + 256 
x PEEK(&HF861) 

Si se desea examinar el conte- 
nido de un sector de un disco de- 
terminado se debe usar la instruc- 
ción A$ = DSKI$(d,n), donde A$ 
puede ser cualquier variable de 
cadena, d será el número del drive 
(0 = drive por defecto o actual, 1 = 
A, 2 = B...) y n es el número del 
sector lógico. El contenido del sec- 
tor quedará en la zona de DMA. 
Esto es muy práctico, ya que así es 
posible, por ejemplo, estudiar un 
programa sin cargarlo en memo- 
ria. Un caso de especial interés 
son los programas con extensión 
CO/W, que se cargan directamente 
desde el sistema operativo; estos 
programas empiezan siempre en 
la dirección &H0100 (con el MSX- 
DOS se emplean 64K RAM, de- 
jando de actuar la ROM BASIC), 
por lo que no pueden cargarse di- 
rectamente desde BASIC. 

Lorenzo Hernández 



tación está repartida en tres ma- 
nuales, todos ellos en castellano. 
Dos de estos manuales están de- 
dicados a la unidad de discos y el 
controlador de la unidad, expli- 
cando la utilización, conexión y 
mantenimiento de este periférico, 
además se dan unos consejos pa- 
ra el manejo y cuidado de los dis- 
kettes. 

El último de los tres manuales, el 
más extenso de todos (1 1 1 pág.), 
está íntegramente dedicado al 
DISC BASIC. En él, se describe el 
sistema del disco, los pasos a se- 
guir para comenzar a trabajar con 
la unidad, la preparación (forma- 
teado) de los discos, así como las 
nuevas instrucciones y funciones 
añadidas al sistema. El tratamiento 
de ficheros se comenta a fondo en 



este manual, desde los conceptos 
básicos de fichero, hasta los fiche- 
ros de acceso directo, incluyendo 
varios programas de ejemplo para 
facilitar el aprendizaje y una mejor 
utilización de las posibilidades del 
sistema. 

En suma, se trata de una alter- 
nativa más a la hora de elegir una 
unidad de disco. Ofrece unas ven- 
tajas importantes, como es la de 
poder incorporar una segunda 
unidad dentro de la misma carca- 
sa, con lo cual se ahorra un espa- 
cio considerable. También cabe 
destacar el buen diseño del apa- 
rato, que permite una buena refri- 
geración impidiendo que los dis- 
cos se calienten excesivamente, 
cosa que suele ocurrir en otras 
unidades. 



MSX 15 



SOFTWARE 



Titulo: M áster ofthe Lamps 
Tipo: Juego 

Distribuidor: PROEIN, S.A 
Formato: Cassette 



Los juegos siempre tienen que 
contar con un elemento esencial, 
la fantasía. Para crear, todos nos 
servimos de nuestra fantasía e 
imaginación, y Master of the 
Lamps es un juego que le invadirá 
en un sueño del que si se descui- 
da no podrá salir. 

Un lugar perdido en Persia, es- 
cenario de las más majestuosas 
aventuras, se ha visto invadido por 
misteriosos enigmas y malignos 
espíritus que han derrocado de su, 
trono al sultán, y éste ha desapare- 
cido. Pero su hijo, el joven príncipe 
logró salir a salvo de esa contien- 
da y debemos ayudarle a conse- 
guir lo que por derecho le pertene-, 
ce. 

Había sido un lugar de paz, pero 
esta banda de espíritus ha sem- 
brado el terror y ha hecho que el 
reino se traslade a otra dimensión. 

Tendremos que buscar nuestro 
reino por infinidad de laberintos 



espaciales y pasar duras pruebas 
de rapidez y atención. 

Nuestro príncipe tan sólo conta- 
rá con una alfombra mágica que 
le transportará por el espacio, no 
sabrá qué camino tomar. Los es- 
píritus se han encargado de que 
sea imposible encontrar el lugar 
donde han escondido su reino, 
pero aún así, nos han dado unas 
pistas y unas pruebas a superar. 

El juego consta de tres opciones- 
a elegir, pero añadiríamos que ca- 
da una tiene su orden de preferen- 
cia. En la pantalla de selección, us- 
ted puede elegir entre Seven 
Triáis, Throne Quest y Magic Car- 
pet. 

Seven Triáis son una serie de 
estadios o metas que usted debe 
alcanzar, serán largos e intermina- 
bles pasadizos de rombos espa- 
ciales por los que debe volar lo 
más rápido posible, pero con mu- 
cho cuidado ya que éstos cam- 
bian su ruta cuando menos se lo 
espere. A lo largo de su paseo le 
acompañará una extraordinaria 
melodía que al comenzar el juego 
le animará éste, pero que se con- 
vertirá en una pesadilla, ya que 
debemos tener una concentración 
muy alta y no despistarnos nunca. 
Los creadores de este programa, 
han tenido esta característica en 
cuenta y han habilitado una tecla 




al volumen de la sintonía, así esto 
no será un impedimento para no- 
sotros. Aunque no lo parezca, esta 
es una de las pruebas a las que se 
nos somete en el juego, nuestro 
poder de concentración. 

Una vez finalizado el viaje por 
este túnel de rombos, hecho que 
no será fácil al menos la primera 
vez, ya que en el momento que 
nos choquemos quedaremos 
destruidos, conseguiremos entrar 
en la primera prueba, no es difícil 
pero sí hay que tener muy buen 
oído y ser muy rápidos. Nos apa- 
recerá en último plano, la visión de 
nuestro reino invadido por los es- 
píritus que se han adueñado de él, 
y una fila de lámparas que comen- 
zarán a sonar y a cambiarse de 
color cuando nosotros deseemos 
comenzar la prueba. 

Esta consiste en golpear el 
gong, para señalar que estamos 
listos, una vez hecho esto apare- 
cerá una combinación de sonidos 
acompañados de la iluminación 
dé las lámparas que contienen 
esas notas, por lo que debemos fi- 
jarnos ya que para superar la pri- 
mera prueba, tendremos que re- 
petir esta misma combinación an- 
tes de que el mago que nos está 
observando nos haga destruir. 

Si logramos superar esta prue- 
ba conseguiremos pasar a un es- 
tadio superior, el cual nos abrirá 
las puertas para conseguir nues- 
tro objetivo y nos ayudará a supe- 
rar las sucesivas pruebas que aún 
serán más difíciles. 

Existe una segunda fase en el 
juego que es más complicada. 777- 
rone Quest, o Grado de Maestro, 
se adquiere una vez que hayamos 
completado las tres lámparas de 
siete piezas, no nos vamos a ex- 
tender en explicaros esto porque 
si no desvelaríamos el enigma del 
juego, tan sólo señalaros que el 
oído y al vista son imprescindibles. 




00 1930 

0 0 0 0 0 0 
0 0 0 0 0 0 
0 0 0 0 0 0 
000000 



pace a i ipe button tu i m^i 

WIUTTEN B Y STEUE CPügS£ All 
GftftPHXC'i B Y M I L H H fc L HNUL U S U H 

; r R I BH r BflC K OS OF I 



El título de Master of the Lamps 
lo conseguirá cuando haya com- 
pletado una serie de tres lámparas 
y consiga destruir el maleficio que 
cae sobre su reino. Pero aquí no 
ha terminado el juego, la tercera 
parte consta de ejercicios de vuelo 
a fin de conseguir una mayor habi- 
lidad al surcar el espacio, es inter- 
minable. 

Mencionar la singularidad del 
juego, en cuanto a su sonido, pues 
como ya sabemos la capacidad 
de generar sonidos de estos orde- 
nadores, nos permite disfrutar am- 
pliamente de este tipo de juegos 
que nos ayudan a conocer y des- 
pertar más nuestras habilidades, y 
sobre todo a divertirnos. 

Puntuación: 
Presentación: 8 
Rapidez: 6 
Claridad: 6 
Adicción: 8 



Titulo: BOOM 
Tipo: Juego 
Distribuidor: 
Compulogical 
Formato: Cassette 



¿Qué les vamos a decir de los 
juegos de nriarcianitos que ya no 
sepan? Pues mucho, ya ven. 

Los marcianitos, como así se 
conocen este tipo de juegos, son 
los pioneros y artífices de los jue- 
gos de ordenador y aunque sean 
miles las versiones que existen de 
ellos en el mercado, se les sigue 
considerando como buenos jue- 
gos y entre los más divertidos, aún 
hoy en día. 

La sofisticación que han alcan- 
zado algunos de ellos nos de- 
muestran la demanda que existe 



en el mercado y la adicción que 
les profesan desde los más pe- 
queños hasta los más mayores. 

Si Ud. no tiene aún su juego de 
marcianitos, ahora, BOOM! le brin- 
da la oportunidad de completar su 
biblioteca de software, ya que este 
juego es elemento esencial en 
ella. 

BOOM! no es un juego que se 
diferencie de los demás por las in- 
novaciones que nos presenta, si- 
no más bien se encuentra en la 
línea clásica y rudimentaria de es- 
te tipo de juegos. Pero el entreteni- 
miento es lo importante, y eso des- 
de luego está incluido en este jue- 
go. 

Tres son las naves con las que 
cuenta para destuir a la flota ene- 
miga que se le avecina. Numero- 
sos son los comandos y naves ga- 
lácticas que vienen a por Ud. De- 
be, principalmente, centrar su 
atención en que ninguna de ellas 
le destruya o choque contra su na- 
ve, al mismo tiempo que sus refle- 
jos le permiten disparar lo más rá- 
pido posible con el fin de acabar 
con el enemigo. 

Conseguir puntos y más puntos 
será el fin primordial del juego, ya 
que cada vez que aniquile a una 
flota enemiga, se sucederán otras 
y otras y otras..., cada una de ellas 
con más peligro y mayor velo- 
cidad pero nada que no pueda su- 
perar. 

BOOM! como hacíamos refe- 
rencia, no es la última novedad en 



este tipo de juegos, pues el diseño 
con que se desarrollan los movi- 
mientos por ambas partes es muy 
lenta. Este tipo de programas es 
ideal para las personas que se ini- 
cian en los juegos, especialmente 
para niños, ya que al no ser muy 
complicado pueden centrar más 
su atención en el peligro enemigo. 

Sin embargo, podemos desta- 
car que es uno de los juegos que 
ha cuidado el color, ya que pode- 
mos diferenciar rápidamente, el 
ataque enemigo en cualquier mo- 
mento, y si somos observadores, 
veremos que normalmente las na- 
ves que comienzan su procesó de 
ataque cambian de color y se 
proyectan vertiginosamente hacia 
nosotros, para aniquilarnos. 

Mantener la calma en todo mo- 
mento es esencial, pues no sólo 
os conducirá a la victoria, sino que 
os relajará. Se tiene un mal con- 
cepto de este tipo de juegos, que 
sirve para cargar más los nervios y 
en el noventa por ciento de los ca- 
sos se utiliza como escape, des- 
pués de un día duro o un estado 
de nervios intenso, pero bueno, no 
es que sea medicinal, tan sólo que 
sí consigue hacernos pasar un 
buen rato y divertirnos, se merece 
tenerlo en cuenta. 

Puntuación: 
Presentación: 5 
Rapidez: 8 
Claridad: 5 
Adicción: 6 



MSX 17 



SOFTWARE 



Titulo: Invierte y gana 
Tipo: Juego 

Distribuidor: Dimensión 
New 

Formato: Cassette 



¿Quién no se ha sentido más de 
una vez atraído por el mundo de la 
Economía, las actividades comer- 
ciales, las finanzas y el enigmático 
pero peligroso mundo de la Bol- 
£a? 

* Golpe de suerte, valores bien in- 
vertidos y en el momento adecua- 
do, han creado algunas de las for- 
tunas más famosas e importantes 
de la economía mundial. 

Invierte y gana, no tendrá más 
repercusiones en un primer mo- 




ECTRICII»AI> 

NÍCÚS 

SU ROS 

"OS 
DUSTRIA 



?ola r-<ai"a seguir;. 



mentó que la de hacerte pasar un 
rato agradable, pero a su vez le fa- 
miliarizará con todos los porme- 
nores que encierra este mundo y 
enseñará de una forma teórica, las 
reglas, las bases y los principales 
campos o mercados de inversión. 

La propia Bolsa Mundial la po- 
demos considerar como un juego, 
cuyo fin primordial no es la diver- 
sión, sino otras muchas facetas 
que pueden hacer olvidar a una 
empresa o elevarla a la cumbre. 

Dejando a un lado el aspecto 
general de la Bolsa, comentare- 



mos las características del progra- 
ma en sí, tanto técnicas como de 
contenido. 

El objetivo del juego es conse- 
guir unos beneficios líquidos esti- 
pulados en un primer momento 
contando tan sólo con su habili- 
dad, intuición y suerte con las ac- 
ciones que Ud. va a comprar o 
vender. 

Los participantes pueden ser 1 
ó 6, y cada uno de ellos es una 
persona física o una empresa o 
persona jurídica, así como a lo lar- 
go de éste, también se pueden 
crear asociaciones dependiendo 
de la coyuntura económica y el es- 
tado del mercado, esto les permiti- 
rá a su vez, llevar un segundo con- 
trol con otros inversores y cambiar 
el cariz en un momento de la Bol- 
sa MSX. 

Todas las personas que vayan a 
jugar aparecerán como una em- 
presa o entidad, la cual contará 
con un capital inicial de 1.000.000 
de ptas. para invertir en la compra 
de acciones. A su vez podrán ob- 
tener créditos que eleven su capi- 
tal y puedan hacer frente a las 
eventualidades que se les presen- 
te. 

Cinco serán los sectores que 
formen la Bolsa, divididos a su vez 
en cinco empresa cada uno: Elec- 
tricidad, Bancos, Seguros, Petró- 
leos e Industria. 

Cada sociedad saldrá al merca- 
do con una venta de acciones no 
superior a 2.000, a un valor de 1 00 
enteros (500 líquido), las cuales 
Ud. debe adquirir para conseguir 
los beneficios estipulados al prin- 
cipio del juego. Recibirá informa- 
ción a lo largo del juego, por el te- 
letipo y por el menú de opciones el 
cual puede ver en el momento que 
lo desee, le indicará de una forma 
aleatoria (&) la situación de los dis- 
tintos sectores que forman el mer- 
cado. 



El menú consta de una serie de 
puntos, siete en total, los cuales 
utilizará Ud. para indicar las opera- 
ciones que desea realizar: cotiza- 
ciones, cartera de valores, opera- 
ciones bancarias, compra, venta, 
etc. 

Para comenzar el juego, es 
esencial que haya obtenido el car- 
net de asociado, carnet con el que 
podrá efectuar operaciones finan- 
cieras y por el que tendrá que pa- 
gar al inicio del juego 5.000 ptas., 
renovándolo anualmente. 

Si Ud. ha sido un buen inversor, 
gozará al final de ejercicio anual 
de unos beneficios, ya que se re- 
parten dividendos. Si por el con- 
trario no ha conseguido superar lo 
estipulado, habrá perdido. 

Otras connotaciones que apa- 
recen en el juego, son la capaci- 
dad de hojear en un instante la si- 
tuación de su empresa, ya que en 
el menú de opciones y detrás de 
cada operación le aparecerá una 
hoja resumen de todas sus opera- 
ciones y situación bursátil, así co- 
mo el período transcurrido. 

El teletipo, o nuestro telediario 
particular, nos proporcionará toda 
la información necesaria en cuan- 
to a lo que ocurre a nivel mundial 
que nos pueda afectar directa o in- 
directamente. 

Para aquellas personas que 
consideren que estos temas care- 
cen de una cierta diversión, po- 
drán comprobar que Invierte y ga- 
na es todo lo contrario, ya que la 
simulación es muy buena y el as- 
pecto técnico hace que no sea pe- 
sado jugar, pues las numerosas 
pantallas con las que cuenta, la 
evolución del programa en sí nos 
hace sentirnos un gran financiero. 

Técnicamente, nos hubiera 
gustado que el programa fuera 
más completo, ya que carece de 
algunos datos de importancia, co- 
mo el período necesario que debe 



18 MSX 



\ 



transcurrir entre la adquisición y 
venta de una acción, o la rápida vi- 
sualización de una empresa que 
pertenezca a uno u otro sector a la 
hora de decidirnos en la compra o 
venta de acciones. 

Un efecto a destacar es el juego 
de colores que aparece a lo largo 
del programa, nota que hace más 
agradable este complicado mun- 
do, aunque esto sea un juego. 

Invierte y gana simula, en gran 
medida, el mercado de la Bolsa y 
sus probabilidades, así como nos 
enseña a introducirnos en el mun- 
dillo de las acciones, ya que hoy 
por hoy nos vendría bien a todos 
tener acciones, porque desgra- 
van. 

Puntuación: 
Presentación: 7 
Rapidez: 6 
Claridad: 5 
Adicción: 6 



Titulo: Calculator New 
Tipo: Operativo 
Distribuidor: Dimensión 
New 

Formato: Cassette 



El principio de las cosas siem- 
pre encierra un pequeño misterio 
y la Ciencia de la Matemática tam- 
bién lo tiene, ¿quién les iba a decir 
a los egipcios que un día una má- 
quina les iba a quitar sus quebra- 
deros de cabeza? 

Los números, las fórmulas, ope- 
raciones aritmeticológicas, ya no 
nos darán más dolores de cabeza, 
ya que nuestro ordenador y Cal- 
culator New forman el mejor equi- 
po a la hora de sacarle de un apu- 
ro, como son esos pequeños de- 
talles de las operaciones. 



Nuestra calculadora de repente 
ha crecido, pero no como una cal- 
culadora sin mas, sino como una 
calculadora científica. 

Calculator New ha sido pensa- 
do para todas aquellas operacio- 
nes que Ud. necesitará realizar en 
su trabajo profesional, o como 
hobby. 

El tiempo, hoy en día, es indis- 
pensable para Técnicos, estudian- 
tes, programadores, que requie- 
ren de una herramienta sofistica- 
da, pero a la vez rápida y sencilla 
de manejar. 

Es cierto que una de las facetas 
de un ordenador es la de ayudar o 
facilitar la labor, es por ello que 
con este programa podrá realizar 
dos tipos de operaciones que son: 

— Operaciones Simples: Su- 
ma, resta, multiplicación, expo- 
nenciación, raíces, logaritmos, etc. 

- Operaciones Especiales: 
Que engloban las anteriormente 
citadas, junto con los sistemas de 
números (hexadecimal, binario, 
etc.), y operaciones angulares 
(grados o radianes). 

La capacidad del programa es 
mayor que la de una calculadora 
normal, ya que cuenta con una 
memoria de hasta diez cifras y 36 
funciones especiales. Su presen- 
tación es clara y sencilla para una 
persona que esté acostumbrada a 
realizar este tipo de operaciones, 
aunque es conveniente leer cui- 
dadosamente el manual de ins- 
trucciones para conseguir el re- 
sultado que deseamos. 

Las operaciones se realizarán 
en una hoja a modo de fichero, 
con diez apartados en caso de 
querer utilizar la memoria. A su vez 
obtendremos una visión total de 
las operaciones que deseemos 
realizar, a excepción del sistema 
numérico en que queramos ope- 
rar, esto no quiere decir que sea 
restrictiva para operar en un mis- 



mo sistema, sino que se estipula 
antes de realizar una operación, 
de lo contrario se regirá por el sis- 
tema decimal. 

¿Cómo elegir las operaciones? 
En la misma hoja que obtendre- 
mos los resultados, nos aparecerá 
un cuadro, en donde se encuen- 
tran especificadas las operacio- 
nes, divididas en filas y columnas 



V SOR e~X ±0~ 1/X 

U X~2 LN LOG V~X 

T SIN COS TAN 

S ASI ACO ATA PI O 
R SIH COH TAH RND 2 
Q ASH ACH ATH ABS 4 
P GRD ->P ->R INT S 
O RAD RCL STO <>V 8 
N DEC BIN HEX FRC 



RIT : DECIMAL 
ODO : RAD 



e e 

**SCALC -NEW»* 

¿ m e. .9 



a modo de cuadro cartesiano, 
bastará con dar las coordenadas y 
los dígitos con que queramos 
operar y obtendremos los resulta- 
dos. 

Existen unas operaciones más 
complejas que otras, es por ello 
que mientras la máquina realiza la 
operación, aparezca la palabra 
«Procesando». Otras notas a tene^ 
en cuenta, es que Ud. puede hacer 
en cualquier momento una reini- 
cialización de la calculadora, por 
que haya ocupado su memoria, 
etc. Asimismo, el programa Calcu- 
lator New cuenta con un analiza- 
dor sintáctico de la calculadora, 
que en caso de error por su parte 
no realizará la operación, al haber 
pulsado una tecla equivocada. 

Un programa, además de ser 
útil, debe ser diferente y cada nue- 
vo programa ha de tener una ca- 
racterística que lo diferencie de los 
demás. Calculator New es tam- 
bién un reloj y calendario, que le 
informará cuando Ud. lo necesite, 
por si se queda ensimismado o el 



MSX 19 



el mejor sof twa 



RomE 




GARA^ 
DE CARGA 



DROME 

Entretanto en DROME, un Super-ordenador, debes encontrar y elimi- 
nar los sofisticados sistemas de defensa y supervivencia. 

Has de elegir uno de los cuatro sectores que constituyen los mecanis- 
mos de defensa de esta terrorífica máquina. 

Un atractivo juego de acción, donde se pone a prueba la capacidad 
de la máquina y del jugador. 

Precio de venta 2.600 ptas. (IVA incluido) 



FLIGHT DECK 

Sienta la emoción del golfo de Sidra en casa. 

FLIGHT DECK es un juego de estrategia y habilidiad en el que tendrás 
que desmantelar las bases enemigas. 

Al mando de un portaaviones donde dispones de 1 0 unidades de 
combate... y poco tiempo. 

Precio de venta 2.600 ptas. (IVA incluido) 




MC-ATTACK 

Ayuda a Fredy, el Rey de la Hamburguesa a preparar el suculento man- 
jar que hace las delicias de los comensales. 

Ten cuidado con las salchichas grasientas y los huevos escurridizos que 
intentarán arruinar tu exquisito plato. 

Defínete con la pimienta y procura hacer el mejor número de hambur- 
guesas posible. 

... Buen provecho. 

Precio de venta 1 .900 ptas. (IVA incluido) 



MacAttack 



MSX 




CONFUSED? 

Es el puzzle electrónico. 

El objeto del juego es resolver 1 0 puzzles con distinto número de pie- 
zas, a elegir, pero todas... MOVIENDOSE. 

Pon a prueba tu inteligencia y capacidad de deducción para solucio- 
nar algunos de estos entretenidos rompecabezas. 

Precio de venta 2.600 ptas. (IVA incluido) 

NORTH SEA HELICOPTER 

Una explosión en una plataforma en el mar del Norte arroja a los 
hombres a un destino incierto... 

Empieza una carrera contrareloj para salvarles de su fatal situación. 

Tienes que convertirte en un piloto experimentado para mantener el 
control del helicóptero... El tiempo empeora. 

¿Crees que cumplirás la misión? 

Precio de venta 2.600 ptas. (IVA incluido) 






SPACE RESCUE 

Desciende de tu nave nodriza a la 
superficie lunar e intenta rescatar a los 
hombres extraviados. 

Ojo con los meteoritos que te destrui- 
rán cuando intentes regresar. 

Disponer de nuevas plataformas pa- 
ra culminar con éxito la misión. 

Desgraciadamente tu nave nodriza 
está bloqueada por unidades de com- 
bate enemigas... Intenta destruirlas. 

Precio de venta 2.600 ptas. (IVA 
incluido) 




MSX 64K • CASSETTE 
MANUAL EN CASTELLANO 



infoúis. s.a. [ 



Solicita tu programa favorito en tu tienda especializada habitual o recorta y envía 
este cupOn a INFODIS. S A., c/Bravo Murillo, 377 5 ° A - 28020 MADRID. 
NOMBRE 



PROVINCIA 



C P 



DIRECCION 

POBLACION 

Forma de pago: CHEQUE □ CONTRAREEMBOLSO □ 

TARJETA DE CREDITO: American Express □ VISA □ INTERBANK 

Numero de mi tarjeta PÍT TI 11177 TTT HTT I f ti 

CADUCIDAD . 

Firma 



TITULO 


CANTIDAD 


TITULO 


CANTIDAD 


DROME 
FLIGH DECK 
MC-ATTACK 




CONFUSED? 
NORTH SEA 
HELICOPTER 
SPACE RESCUE 





SOFTWARE 



tiempo es una de sus grandes 
preocupaciones. 

Todos los programas que facili- 
ten una labor, no pueden ser criti- 
cados, pero sí diremos algunos 
puntos que se pueden solucionar 
para generaciones venideras. 

La monotonía del color en la 
pantalla, puede llegar a cansar la 
vista de una persona que dedique 
varias horas ante su monitor, ya 
que si vamos a ocupar la memoria 
de nuestro ordenador, convirtién- 
dolo en una calculadora, no va a 
ser para diez o quince minutos, es 
por ello, que se podía incluir una 
opción del color de fondo a elegir, 
no porque uno u otro sea mejor, si- 
no para distraer un poco la mente 
matemática. 

Calculator New es un programa 
muy útil, sobre todo si su calcula- 
dora no tiene la capacidad que 
desea. Gracias a la visualización 
de las operaciones en memoria, 
puede sacar una conclusión rápi- 
da del problema o de la situación 
matemática. 

Puntuación: 
Presentación: 6 
Rapidez: 7 
Claridad: 7 
Adicción: — 



Titulo: Hopper 
Tipo: Juego 

Distribuidor: Compulogical 
Formato: Cassette 



Hopper o el clásico de lujo. Hop- 
per es una simpática rana. Sí, co- 
mo suena, una rana muy especial, 
es inteligente. 

¿Qué le parece convertirse por 



unos momentos en un anfibio? 

Es este mundo hay que probar- 
lo. 

Hopper es un juego sencillo pe- 
ro a la vez diferente. 

Numerosos son los peligros 
que se le presentarán y mucha la 
habilidad que deberá demostrar 
para conseguir finalizar el juego. 

El instinto de los animales no fa- 
lla a la hora de conseguir alimen- 
tos, pero una ranita perdida en 
medio de una autopista, verdade- 
ramente le va a ser un poco difícil. 

Hopper, nuestra rana, sólo co- 
me moscas y se ha empeñado en 
comer un tipo de mosca que se 
encuentra al otro lado de la auto- 
pista, en la ribera de un río cerca- 
no. 

El juego comienza en el mo- 
mento en que Ud. coloca un anca 
en la autopista, hecho que debe 
pensar con tranquilidad, porque la 
velocidad de los coches no es pe- 
queña. Para los más pequeños, a 
quienes va dirigido este tipo de 
juegos, entra un factor muy impor- 
tante, la rapidez de reflejos. Con 
esto queremos decir que, en oca- 
siones se podrá estar delante de 
un coche siempre y cuando sepa- 
mos en qué momento se puede 
saltar. En esto hay que ser rápido y 
decidido, pues cualquier titubeo 
puede costamos la vida. 



Una vez superada esta prueba, 
os encontraréis a orillas de un río y 
al otro lado, se encuentra la comi- 
da, una sabrosa mosca que irá re- 
voloteando de un lugar para otro, 
porque nuestra ranita no está 
hambrienta y no tiene fuerzas para 
nadar, así que habrá que ayudarla 
a cruzar por encima de diversos- 
objetos que lleva la corriente. 

Comienza la aventura. Siempre 
que pisemos un tronco, correre- 
mos el grave peligro que se hunda 
y que nos arrastre al fondo del río, 
perdiéndo así una vida. Pero es 
difícil que ocurra porque tenemos 
tiempo suficiente para saltar del 
tronco hacia alguna zona más se- 
gura o volver atrás. Con las tortu- 
gas debemos tener más cuidado, 
ya que ellas pueden nadar y a ve- 
ces hacen lo posible para hacerlo 
bajo el agua, de esta manera si es- 
tamos en una de ellas, deberemos 
saltar cuando éstas empiecen a 
sumergirse, de lo contrario pere- 
ceremos. 

No es difícil capturar la mosca, 
sin embargo, el secreto se en- 
cuentra en mantenerse el mayor 
tiempo posible en el río y no dejar 
que nos ahoguemos. 

Contaremos con tres vidas al 
inicio del juego y cada vez que nos 
comamos una mosca contaremos 
con un bonus que aumentará la 





22 MSX 



puntuación. Si conseguimos finali- 
zar una etapa, pasaremos a la si- 
guiente, más difícil pero más di- 
vertida. 

De cualquier manera, el juego 
es muy entretenido y sencillo de 
acabar, aunque las características 
gráficas dejan algo que desear, ya 
que nuestra ranita (de color verde) 
se confunde con el río, cuyo tono 
verdáceo no tiene mucha seme- 
janza con el de un auténtico río. 

La agrupación de tantos ele- 
mentos en una sola pantalla, per- 
judicará sensiblemente a los más 
pequeños, pero nada que no se 
puede corregir con el tiempo. 
Hopper es un buen juego. 

I Puntuación: 
Presentación: 7 
Rapidez: 7 
Claridad: 8 
Adicción: 8 



Titulo: Oh Shit! 
Tipo: Juego 

Distribuidor: Compulogical 
Formato: Cassette 




¿Qué es un comecocos? El sig- 
nificado de esta palabra es, hoy en 
día, tan amplio que no sabríamos 
a qué referirnos con ella. Pero sí 
existe un origen, o por lo menos un 
comienzo, y está en aquellas ma- 
quinitas de cinco duros que, lite- 
ralmente nos comían el coco. 

Podemos decir de este juego 
que ahora comentamos, fue el 
pionero de los juegos, o por lo me- 
nos el primero que conocimos ca- 
si todos, cuando el mundo de los 
ordenadores empezó a inundar 
nuestros hogares. 

Las características del juego 



son de todos conocidas, pero si 
hay alguien que comience a intro- 
ducirse en este mundo de locos 
de los juegos de ordenador, indi- 
caremos las directrices principa- 
les y de qué se trata. 

En la pantalla se crea un labe- 
rinto delimitado por barreras de 
colores que forman pasadizos y 
por los que debemos movernos a 
fin de conseguir escapar primero y 
segundo, obtener la mayor pun- 
tuación. 

La visión del juego es la misma 
que ofrecen las máquinas de los 
bares. Estos se persiguen unos a 
otros y lo único que logran es 
crear una confusión y ponernos 
más nerviosos. Pero nuestra bolita 
comedora no para y cada vez 
quiere comer más. Por este moti- 
vo, no debemos detenernos, ni 
dejarnos comer nunca, de lo con- 
trario se acabaría la partida. 

¿Qué es lo que vamos a co- 
mer? Unas veces serán cerezas, 
otras fresas, plátanos, depende 
del nivel en el que estemos. 

En cada nivel, éstas se irán ha- 
ciendo más escasas y nuestros 
perseguidores más rápidos, difi- 
cultando la tarea de entrar en la 
despensa. 

Existirán situaciones en que co- 
mamos más rápido de lo normal y 
la máquina nos compensará con 
bonus o permitiéndonos pasar por 
encima de los fantasmas sin que 
estos nos coman, momento en 
que cambiará la pantalla de color 
para indicarnos que debemos 
aprovechar ese tiempo para con- 
seguir más puntos. 

Esto es el juego en esencia, no 
tiene más elementos, pero tampo- 
co le faltan. Es por ello que, aun- 
que hoy tengamos en el mercado 
juegos más sofisticados, recurra- 
mos a este como uno de los más 
divertidos y menos dificultosos, 
que al fin y al cabo de eso se trata, 



porque nadie toma un juego como 
un deber. 

Las características técnicas del 
programa son muy primarias, eso 
sí, en esta versión se han cuidado 
a fondo aquellas pequeñas defi- 
ciencias que los primeros juegos 
podían presentar, como la falta de 
sonido, color, rapidez, etc. 

Qué familiar resulta el sonido 
que hace nuestro muñequito al 
engullir esas frutas o esferas que 
aparecen por la pantalla, porque 
no sólo devora fruta, sino todo lo 
que se ponga en su camino. Olvi- 
dar este sonido característico le 
quitaría al juego todo su encanto, 
es por ello que estas nuevas crea- 
ciones conserven los convencio- 
nalismos propios de este juego, ya 
que de lo contrario se convertiría 
en una desvirtualización más o un 
simple juego para pasar el rato. 

Los gráficos que constituyen las 
pantallas han mejorado en cuanto 
a realización y se han perfeccio- 
nado los detalles de los sprites así 
como el movimiento, siendo aún 
más uniforme. 

Recomendamos la utilización 
de joystick, debido a que se re- 
quiere una mayor sensibilidad en 
los movimientos. 

Siempre que se dice volver 
atrás, se piensa en retroceder, 
aquí no ocurre esto, sino que se ha 
avanzado ofreciéndonos al alcan- 
ce de nuestras manos el juego 
más sencillo pero a la vez más en- 
tretenido, el comecocos. 

Oh Shit! es. por esta razón, un 
juego único que no debemos olvi- 
dar ni dejar pasar. 

Puntuación: 
Presentación: 8 
Rapidez: 7 
Claridad: 8 
Adicción: 9 



MSX 23 



utilidades 



Síntesis de voz para I 




24 MSX 



(II) 



UjUn el capítulo anterior pudi- 
| ruOmos generar un sonido 

Imediante el uso del port 

del altavoz. Ahora nos toca saber 
cómo poder crear cualquier tipo 
de onda usando dicho port. 

En la figura 1 tenemos una for- 
ma de onda que muy bien podría 
corresponder a una vocal cual- 
quiera. Basándonos en la increí- 
ble rapidez del código máquina 
podemos hacer que dicha onda/o 
al menos una muy parecida a ella, 
sea generada por el altavoz del te- 
levisor. Para entender de qué for- 
ma se puede hacer esto, divida- 
mos (fig. 2) dicha onda en 5 ins- 
tantes de tiempo a los que llama- 
remos t1 , t2, t3, t4 y 15. Antes de ge- 
nerar la onda, la membrana del al- 
tavoz se encontrará relajada por lo 
que para llegar a t1 sólo hay que 
hacer contraer dicha membrana. 
Como el tiempo transcurrido entre 
el inicio y t1 es muy corto, al alta- 
voz no la ha dado tiempo de con- 
traerse totalmente, de forma que 
para llegar a t2 tenemos que vol- 
ver a contraer la membrana (o 
simplemente dejar que se contrai- 
ga del todo). En t3 el nivel de am- 
plitud de sonido es menor que en 
t2 por lo que lógicamente ahora 
nos toca relajar el altavoz. En t4 
hay que volver a contraerlo y en t5 
dejaremos que la membrana del 
altavoz se relaje totalmente. 

Si fuésemos capaces de ver la 
forma de onda generada de esta 
manera por el ordenador, la ima- 
gen se parecería bastante a la de 
la figura 3. 

Vamos ahora a lo más impor- 
tante; codifiquemos dicha onda. 
Sea el valor «1 » el que nos indique 
que hay que contraer la membra- 



na del altavoz y «0» que hay que 
relajarla. De esta forma podremos 
codificar la onda de la figura 1 en 
un valor de 5 bits los cuales serían: 

110 10 0 

Ahora nos hace falta conocer el 
sistema que nos codifique a bina- 
rio cualquier tipo de onda. Lógica- 
mente interminable y aburridísimo 
el que nosotros tengamos que co- 
dificar «a mano» todos los sonidos 
que nos interesan por lo que va- 
mos a usar un sistema, ya dispo- 
nible por el ordenador, que nos 
hará la tarea mucho más fácil. 

El port de cassette 

En los ordenadores MSX el bit 7 
(hay que tener en cuenta que en 
un octeto el primer bit es siempre 
el número cero) del port A2h es el 
encargado de tomar los valores 
correspondientes, «1» ó «0», se- 
gún el sonido entrado por la clavi- 
ja del cassette. Este bit tomará va- 
lor «1» si el sondio entrado tiene 
mayor intensidad (o es saturante) 
que el inmediatamente anterior y 
será «0» si su intensidad es menor. 
Funciona, pues, de la forma más 
útil para nosotros ya que realiza lo 
mismo que el port del altavoz pero 
de forma contraria. 

Realicemos un programa en 
código máquina que nos demos- 
trará la veracidad de lo anterior- 
mente expuesto. Para los que no 
gusten del código máquina les di- 
remos que este programa «pasa- 
rá» directamente y uno a uno los 
datos entrados por el port de cas- 
sette al port de altavoz de forma 
que el ordenador trabajará como 



MSX 25 



utilidades 



un «repetidor» de todo cuanto «es- 
cuche» a través de la clavija del 
cassette. El programa BASIC que 
viene a continuación del máquina 
será el encargado de cargar el 
orograma máquina en memoria. 
Jsar pues este programa para ha- 
cerlo funcionar. 

ORG 55000 ; COMIENZO 
DI 

A1: LDE.O 

IN A f (=A2) 
RLA 
RL E 
LD A,E 
CALL =135 
JP A1 

Expliquemos un poco el funcio- 
namiento del programa. Al princi- 
pio inhibimos las interrupciones y 
borramos el registro E. Cargamos 
en el acumulador el valor entra- 
do por el port de cassette y rota- 
mos al acumulador para que el 
valor del bit 7 pase a la bandera de 
acarreo. Al rotar ahora el registro E 
(RL E) el valor del acarreo pasará a 
dicho registro lo que significa que 
al final de la operación, el registro 
E tiene el mismo valor que el bit 7 
del port de cassette. Hay otra cosa 
que también es nueva: en vez de 
usar la pareja de instrucciones 
OUTa\ port ABH ya conocidas ha- 
cemos una llamada a la rutina 
135h de la ROM MSX (más con- 
cretamente pertenece al BIOS de 
la ROM) la cual contraerá la mem- 
brana del altavoz si el registro A 
tiene valor 1 h o la relajará si es ce- 
ro. De esta forma nos ahorramos 
unas cuantas instrucciones. 

El programa BASIC que carga 
el máquina anterior es el siguien- 
te: 

10 CLEAR 256,54999:DI=55000 

20 FORMO TO 14 

30 READ J:POKE (DI+I),J 

40 NEXT I 

50 DATA 243,30,0,219,23,203, 



19,123,205,53,1,195,217,214 

Una vez cargado el programa 
máquina podemos guardarlo en 
cassette o disco mediante BSAVE 
''SO/V/2^55000,55074 y cargarlo 
desde el mismo medio mediante 
BLOAD"SONI2". 

Para ejecutar el programa sólo 
tendremos que hacer: 

defusr=55000 
x=usr(l) 

Una vez ejecutada esta pareja 
de instrucciones, el cursor desa- 
parecerá y no escucharemos ab- 
solutamente nada. Para que el or- 
denador repita lo que oiga, deberá 
oír algo. Para ello lo mejor es co- 
ger una radio normal y sintonizar 
una emisora. Una vez hecho esto 
introducir la clavija usada para la 
carga de programas desde cas- 
sette en el conector "E/4fí"de la ra- 
dio. Finalmente dar volumen *a la 
radio y al televisor, si todo se ha 
hecho de forma correcta escucha- 
remos la radio a través del televi- 
sor y no es la radio la que habla, si- 
no el ordenador, ya que es éste el 
que se encarga de repetir lo que 
escucha. 



Un programa 
sintetizador de frases: 
VOCALS 

Llegamos a la parte final y segu- 
ramente la más ansiada por todos. 
Vamos a exponer y explicar el pro- 
grama VOCALS el cual, como ya 
se adelantó, va a ser capaz de de- 
cir frases habladas con bastante 
claridad. VOCALS, no obstante, no 
quiere decir más que un progra- 
ma ilustrativo sobre cómo se pue- 
de digitalizar la voz en un MSX. Es, 
por tanto, el lector el que debe am- 
pliar a VOCALS ya que éste ha si- 
do diseñado para que funcione in- 
cluso en los ordenadores de me- 
nor capacidad. 

Vamos a dividir el programa an- 
terior en dos partes que son fun- 
damentales: la primera la llamare- 
mos «receptora» y es la encarga- 
da de convertir a bits el sonido en- 
trado. La segunda se denominará 
«transmisora» encargada, como 
ya sabes, de convertir dichos bits 
a sonido. Ahora vamos a crear una 
tercera parte, que llamaremos 
«memorizadora», al cual introduci- 




26 MSX 




Jm 

rá en memoria los bits codificados 
por la receptora. 

El programa que exponemos a 
continuación funcionará de la si- 
guiente manera: 

1 . Mediante un sistema senci- 
llo que en breve explicaremos, el 
ordenador captará del usuario 
una frase de un segundo de dura- 
ción, suficiente como para decir 
«HOLA» o «BUENOS DIAS» por 
ejemplo. 

2. Al mismo tiempo, la parte 
receptora codificará a bits dicha 
frase y la memorizador-a unirá 8 
bits para formar un octeto e intro- 
ducirlo en la memoria. 

3. Para finalizar esta primer 
parte se retornará al BASIC. 

4. Cada vez que queramos y 
mediante una instrucción del tipo 
USR(I) ejecutaremos sólo la parte 
trasmisora, la cual recuperará los 
octetos de la memoria, los desglo- 
sará en bits y los codificará a soni- 
do. Fácil, ¿no? 

Veamos- el listado ensamabla- 
dor del programa y expliquémoslo 
un poco. Este programa sólo será 
capaz de memorizar una frase de 
algo más de un segundo de dura- 
ción, pero debido a la poca me- 
moria que necesita el programa, 
éste podrá ser introducido y ejecu- 
tado en ordenadores MSX de 
16Kb. Los lectores avispados se- 
rán capaces de ampliar el progra- 
ma de forma que acepte un mayor 
número de frases. 



LISTADO ENSAMBLADOR 
DE VOCALS 

ORG =C5000 ; ORIGEN 
PARTE RECEPTORA 
E1: CALL =9F 
AND A 

JP Z, E1 ; ESPERA PUL- 
SAR TECLA 
DI ; TECLA YA PULSADA 
LD HL.BUFF 

LD BC.1024 ; NO. OCTE - 
TOS A RECOJER 
E4: LD D,8 ; CONTADOR BITS 
LD E,0 

E3: IN A.(=A2) ; ESCUCHA 
CASSETTE 

RLA 
RL E 
EXX 

LD B,30 

E2: DJNZ E2 ; PEQUEÑA ES- 
PERA BITS-BITS 

EXX 
DEC D 

JP NZ, E3 ; COJIDO OC- 
TETO COMPLETO? 
LD A,E ; SI, GUARDAR 
LD (HL),A 
INC HL 
DEC BC 
LD A.B 
OR C 

JP NZ? E4 ; RECOJIDO 
1024 OCTETOS? 

El ; SI 

RET ; RETORNA BASIC 
DI ; ORIGEN PARTE 
TRANSMISORA 
; DIRECCION REAL 
C52Ch 

LD HL.BUFF 

LD BC,1024 
TX3: LD D,8 

LD E,(HL);COJE OCTETO 
TX1: EXX 

LD B.30 
TX2: DJNZ TX2 

EXX 

XOR 

RL E 



RLA 

CALL =135 
DEC D 
JP NZ.TX1 
INC HL 
DEC BC 
LD A,B 
OR C 
JP NA.TX3 
El 

RET 

BUFF: NOP ; COMIENZO TABLA 
DE DATOS 

El programa es muy parecido al 
tratado anteriormente. Al principio 
se espera a que se pulse una tecla 
usando la rutina del BIOS MSX 9Fh 
para empezar a recojer datos. Es- 
tos se irán uniendo uno a uno has- 
ta formar un octeto, el cual se intro- 
ducirá en memoria en una tabla 
cuyo comienzo es BUFF. Una vez 
introducidos 1024 octetos, el pro- 
grama retorna al BASIC. La parte 
transmisora funciona igual que la 
receptora, sólo que aquí se hace 
una llamada a la ya conocida di- 
rección 135h y no se introducen 
datos en memoria, sino que se sa- 
can, como era de suponer. 

Pensando en los lectores que 
no sean amantes del código o 
aquellos que aunque siéndolo 
no dispongan de un ensamblador, 
hemos realizado un programa BA- 
SIC que se encargará de introdu- 
cir los códigos objetos en memo- 
ria, al igual que ocurría con el pro- 
grama anterior. 

Una vez tecleado el programa 
(¡cuidado con los errores!) pulsa- 
mos RUN. El programa se introdu- 
cirá en memoria y estaría listo para 
ser guardado en cassette (o disco) 
mediante BSAVE"VOCALS",&HC 
500,&HC550. 

El programa máquina se podrá 
recuperar mediante BLOAD'VO- 
CALS". 

Veamos cómo usarlo. Hay que 



MSX 27 



utilidades 




colocar un sistema amplificador 
con micrófono a la entrada del 
cassette del ordenador. Como es- 
to no va a ser siempre posible se 
puede seguir otro método que 



(seguir esta orden minuciosamen- 
te). 

1. Coger una grabadora de 
cassette que disponga de micró- 
fono e introducir en ella una cinta 



también da buenos resultados en la cual podramos grabar algo, 



o sea, que no esté protegida con- 
tra grabación. 

2. Introducir la clavija que pro- 
viene del ordenador y que usa- 
mos para cargar programas des- 
de cassette (generalmente de co- 
lor blanco) en el conector «EAR» o 
«EARPHONE» de la grabadora. 

3. Pulsar la tecla PAUSE de la 
grabadora. Esto no es imprescin- 
dible, ya que lo único que evitaría- 
mos es que la cinta introducida se 
grabase con la frase que diremos 
delante del micrófono. La cinta in- 
troducida sólo sirve para poder 
pulsar la tecla REC y PLAY de la 
grabadora, cosa que no sería po- 
sible si no existiese en su interior 
una cinta. 

Ya está lista la parte que nos 
amplificará la voz. Ahora sólo nos 
queda preparar al ordenador. Pa- 
ra ello tecleamos: 

DEFUSR=&HC500 

X=USR(I) 

El ordenador estará esperando 
a que nosotros le pulsemos cual- 
quier tecla para empezar a codifi- 
car la frase. Apretamos las teclas 
REC y PLAY de la grabadora y 
después (siempre después) cual- 
quier tecla del ordenador. Inme- 
diatamente pulsada esta última te- 
cla decimos la frase. Una vez ter- 
minada la recepción aparecerá el 
archiconocido "OK" en la pantalla. 
La frase ha sido codificada y me- 
morizada y podemos escucharla 
cada vez que queramos, para ello 
ajusfar el volumen del televisor y 
ejecutar: 

DEFUSR=&HC52C 
X=USR(I) 

La experiencia le enseñará que 
mientras más vocalice más per- 
fecta será la reproducción de la 
frase. Todavía podemos experi- 
mentar mucho más... 

Juan Jiménez León 



28 MSX 



EL MAS QCUDVDO DE LA CASA. 



MSX te PHILD 




Porque nadie puede resistirse a la tentación del 
MSX de Philips. A sus divertidos juegos de aventuras. 
A sus entretenidos programas educativos. O a los 
de oficina, como el "Home office". Capaz de hacer 
estadísticas, estudio de cuentas, contabilidad, etc. 



Y los programas específicos para hacer más fácil el 
trabajo al ama de casa. O al estudiante. Además, posee 
una amplísima gama de periféricos: impresoras, 
monitores, ratón, etc. Disfrute con el MSX de Philips. 
Siempre que no esté ocupado. 



PHILIPS 




Philips integra su futuro. 



PHILIPS 




de los aspectos de la comunica- 
ción entre el ordenador y el usua- 
rio, contemplando una serie de 
posibilidades en función de los re- 
cursos disponibles, como pueden 
ser el uso de menús, un sistema 
de pregunta respuesta, edición de 
los datos presentados en pantalla. 

En resumen, se trata de un libro 
pequeño en tamaño pero denso 
en ideas, muy interesante para to- 
do aquél que se preocupe de que 
sus programas estén bien acaba- 
dos y sean sencillos de usar. La 
traducción es buena, lo que ayuda 
a digerir sin grandes problemas 
los conceptos expuestos. 



Título: Computación 
Interactiva: Sistemas. 
Diálogos 

Autor: Richard A. Watss 
Editorial: Paraninfo 
Páginas: 95 

En el complicado mundo de la 
programación y el diseño de apli- 
caciones, es necesario abarcar 
una amplia serie de conocimien- 
tos, desde diversos lenguajes pa- 
ra desarrollar el software hasta co- 
nocimientos de hardware para uti- 
lizar mejor los recursos disponi- 
bles. Pero hay un campo que tra- 
dicionalmente ha estado bastante 
descuidado, aunque cada día se 
le presta mayor atención, y éste es 
el diseño del sistema interactivo, 
es decir, la comunicación entre el 
conjunto ordenador-programa y 
el operador o usuario ocasional. 

Este libro es el resultado de una 
serie de estudios en el campo del 
Proceso controlado por el usuario, 
en los que se ha recurrido a las 
prácticas más modernas y a las úl- 
timas ideas de los investigadores. 
Uno de sus objetivos principales 
es ayudar a los diseñadores de 
sistemas allí donde haya ordena- 
dores utilizados por personas 
inexpertas. Al mismo tiempo, el li- 
bro servirá a los diseñadores de 

30 MSX 



sistemas dedicados a usuarios 
más regulares y a los directores de 
esos diseñadores, para que pue- 
dan justificar las inversiones que 
se hagan en el desarrollo de los 
sistemas que se adaptan al usua- 
rio. 

En realidad no se trata de un li- 
bro sobre programación, sino de 
un compendio de consideracio- 
nes que cualquiera que desee di- 
señar un programa debería hacer- 
se incluso antes de pensar en el 
programa en sí. Por tanto, se en- 
cuadraría mejor en el área del 
análisis. 

Tras una introducción general al 
tema del desarrollo de sistemas 
interactivos, se aborda cada uno 



V 



COMPUTACION 
INTERACTIVA 



Sistemas. Diálogos Menus 




Título: Inteligencia Artificial 
y Sistemas Expertos 
Colección: Biblioteca 
Básica Informática 
Editorial: Ingelek, S.A. 

Desde el inicio de la era de los 
ordenadores, los especialistas en 
informática han tratado de desa- 
rrollar técnicas que permitan a las 
computadoras actuar como lo ha- 
ce el ser humano. Una de las ba- 
ses de apoyo de esta nueva forma 
de diseñar un programa es la Inte- 
ligencia Artificial. 

Desde luego, el intento de cons- 
truir máquinas que presenten las 
capacidades que asociamos con 
la inteligencia humana no es nada 
reciente: ya en el siglo XVIII se 
construyeron los primeros autó- 
matas que intentaban emular as- 
pectos parciales. La causa del re- 
lanzamiento de la Inteligencia Arti- 
ficial provino de la falta de algorit- 
mos matemáticos sencillas, tales 
como el reconocimiento del len- 
guaje, los problemas de diagnosis 
(enfermedades, geológicos) o el 
reconocimiento visual de objetos. 

El término Inteligencia Artificial 
se presta en cierta medida a inter- 
pretaciones erróneas y, tal y como 
ocurrió con los «Cerebros Electro- 



nicos», quizá dentro de unos po- 
cos años esta denominación hay# 
desaparecido y surjan otros térmi- 
nos más acordes con la realidad 
de las investigaciones. 

Hoy en día los programas más 
avanzados son más sistemas ba- 
sados en el conocimiento de ex- 
pertos que sistemas inteligentes, 
ya que sus capacidades son, aun- 
que de una cierta potencia, muy li- 
mitados en sus aplicaciones, res- 
tringiéndose a temas concretos. 
Tales com los ya muy famosos sis- 
temas de diagnosis de enferme- 
dades infecciosas o de propeccio- 
nes geológicas, que están siendo 
aplicados con mucho éxito por 
numerosos hospitales o por las 
compañías petrolíferas. 

Por todo ello, el tema de la Inteli- 
gencia Artificial se halla revestido 
de gran importancia y resulta ser 
de candente actualidad. Para que 
usted, lector, no se quede atrás en 



Dl llíO TECA BASI C A 

INFORMATICA 



INTELIGENCIA ARTIFICIAL 
Y SISTEMAS EXPERTOS m 




el progreso, este libro le ayudará a 
comprender el desarrollo de la In- 
teligencia Artificial, los principios 
sobre los que se basa, las estruc- 
turas de almacenamiento y trata- 
miento de la información utiliza- 
das. 

De hecho, tras una breve intro- * 
ducción a la Inteligencia Artificial, 
se introducen en él una serie de 
conceptos básicos fundamentales 
para comprender y asimilar la in- 



formación contenida en los capí- 
tulos siguientes: Representación 
del conocimiento, Estudio del mo- 
tor de inferencia, Procesadores de 
Lenguaje natural, Lenguajes de 
Programación y herramientas de 
I.A., Creación de un Sistema Ex- 
perto, Futuro de los Sistemas Ex- 
pertos... todo un mundo apasio- 
nante. 

Al final del libro encontraremos 
una amplia bibliografía que permi- 
tirá a los lectores aficionados a es- 
te tema profundizar en las entra- 
ñas de este futuro cada día más 
cercano. En cualquier caso, Inge- 
lek nos ofrece una excelente oca- 
sión para ampliar nuestros cono- 
cimientos sobre el mundo de la in- 
formática. Hay que señalar que no 
se trata de un «libro de listados» 
que ofrezca programas para te- 
clear; sin embargo, pensamos 
que es un libro de interés general 
que todo amante de la informática 
debería leer. 




disponemos de 

TAPAS ESPECIALES 

para sus ejemplares 




SIN NECESIDAD DE ENCUADEMACION 



Para hacer su pedido, rellene este cupón HOY MISMO 

y envíelo a: MSX MAGAZINE 
Bravo Murillo, 377 Tel.: 733 7 9 69 - 28020 MADRID 

Ruego me envíen tapas para la encuademación de mis ejemplares d 
MSX MAGAZINE. al precio de 650 pts más gastos de envío 
El importe lo abonaré 

□ POR CHEQUE □ CONTRA REEMBOLSO n CON MI TRAJETA DE 
CREDITO □ AMERICAN EXPRESS □ VISA □ INTERBANK 

Número de mi tarjeta: 

Fecha de caducidad Firma 

NOMBRE 



I 
I 

(en cada tomo se pueden encuadernar 6 números) I F 



DIRECCION 



CIUDAD C P 



PROVINCIA 



En 



a necesidad de conectar 
un ordenador con el exte- 
nor se pone de manifiesto 
cuando se desea, por ejemplo, 
volcar un fichero de texto a una im- 
presora, por no hablar de la trans- 
misión de ficheros de un ordena- 
dor a otros a través de modems 
para línea telefónica o directa- 
mente si Ja distancia lo permite. 

En ambos casos se trata de 
transmisión de datos, aunque la 
conexión con la impresora no sea 
un ejemplo específico. General- 
mente, la idea de transmisión de 
datos se asocia en el ámbito del 
ordenador doméstico, conectado 
al acoplador acústico y éste al te- 
léfono. No tiene porque ser así en 
otro entornos, en los que se efec- 
túa la conexión entre ordenadores 
para formar una red local median- 
te cable coaxial o fibra óptica, o en 
la conexión de terminales inteli- 
gentes a otros terminales u orde- 
nadores mediante modem a tra- 
vés de línea telefónica dedicada, 
etc. Hoy en día puede afirmarse 
que las comunicaciones entre or- 
denadores son, junto a las tecno- 
logías de fabricación de circuitos 
integrados, los dos pilares más 
importantes de la industria del or- 
denador. Cuando los ordenado- 
res personales comenzaron a te- 
ner una gran difusión y la necesi- 
dad de conectar estos equipos a| 
una serie de periféricos se hizo 
patente, muchos fabricantes opta- 
ron por utilizar este conocido y 
probado interface para sus nece- 



sidades. 

Actualmente, el RS-232C tiene 
multitud de aplicaciones en el 
campo de las comunicaciones in- 
formatizadas. Entre estas aplica- 
ciones, las más destacadas son la 
conexión de impresoras, plotters y 
ordenadores a través de modems, 
esto sin tener en cuenta la posibili- 
dad de poder usar bases de datos 
comunitarias, etc. 

RS-232 y MSX 

Actualmente, sólo existen en el 
mercado dos ordenadores MSX 
que incorporan el interface RS- 
232C: SPECTAVIDEO X'PRESS y 
el TOSHIBA HX-22. Para el resto 
de los ordenadores del estándar, 
se encuentra en el mercado este 
popular interface, conectable al 
bus de expansión. Toshiba lo co- 
mercializa bajo la denominación 
HX-R700PE. Además de conec- 
tarse al port de cartuchos, incor- 
pora una memoria ROM que con- 
tiene el software necesario para 
su manejo, así como una serie de 
instrucciones particulares. 

A nivel de BASIC, se añaden 9 
comandos y se amplían otros ya 
existentes del MSX BASIC. 

Los nuevos comandos para el 
control de la comunicación son 
los siguientes: 

CALL COMINI: Utilizando esta 
instrucción podemos definir todos 
los parámetros de la comunica- 
ción, tales como: velocidad de 
transmisión y recepción de datos, 



longitud de palabra, protocolo uti- 
lizado y otros parámetros necesa- 
rios. 

CALL COMTERM: Este coman- 
do selecciona el modo terminal, 
en el cual podremos utilizar nues- 
tro ordenador como terminal de 




32 MSX 



otro más grande. 

CALL COMSTAT.Se utiliza para 
conocer el estado actual del inter- 
face. Permite detectar si se está 
produciendo algún error en la 
línea de transmisión y el tipo de 
error de que se trata. 



CALL COM GOSUB: Permite es- 
pecificar el primer número de una 
rutina de tratamiento de interrup- 
ciones generadas por el interface. 
Una interrupción se produce cada 
vez que el RS-232C detecta un in- 
tento de transmisión en la línea. 




CALL COMON: Habilita las inte- 
rrupciones. 

CALL COMOFF: Deshabilita las 
interrupciones. Luego existen una 
serie de instrucciones del BASIC 
MSX que se han ampliado para su 
utilización con el RS-232C Estas 




Foto 1: Cable para conectar dos 
equipos mediante RS-232. 

son las más características; 

SAVE: Envía un programa BA- 
SIC a través del RS-232C Se utili- 
za para transmitir programas a 
otros ordenadores o para listarlos 
por impresora. 

LOAD: Lee un programa BASIC 
desde el RS-232. Aunque para re- 
cibir correctamente un programa 
a través del interface, debe de es- 
tar en formato ASCII. 

MERGE: Combina un programa 
recibido desde el RS-232 con uno 
existente en la memoria. 

OPEN : Abre un canal de en- 
trada o salida de datos al RS- 
232C. 

CLOSE : Cierra un canal del 
RS-232C 



1QRATION 




MSX 33 




INPUT : Lee un dato desde un 
canal de entrada. 

PRINT : Envía un dato a un ca- 
nal de salida. 



Utilización del RS-232C 



Como hemos dicho anteriormen- 
te, una de las principales aplica- 
ciones del RS-232C es la de co- 
nectar un ordenador a un amplio 
número de dispositivos externos, 
que generalmente son impreso- 
ras o modems (u otros ordenado- 
res). Para el usuario de un MSX, el 
RS-232C supone la posibilidad de 
conectar su ordenador con gran 
cantidad de periféricos que no 
hayan sido diseñados específica- 
mente para el estándar MSX. Otra 



Título: El libro del RS-232 
Autor: Joe Campbell 
Editorial: Anaya Multimedia 
Páginas: 200 

El interface RS-323C, es el prin- 
cipal medio de conexión entre or- 
denadores y periféricos. Es poca 
la literatura escrita sobre este peri- 
férico, sin embargo esta obra vie- 
ne a ocupar y a cumplir la misión 
de explicar, mostrar y facilitar el 
entendimiento de este popular in- 
terface. El libro constituye una ini- 
ciación al RS-232C, explicando 
los principios básicos a un nivel 
sencillo donde no se necesitan 
conocimientos técnicos por parte" 
del lector. Comienza con una in- 
troducción al RS-232C, sus funda- 
mentos y sus aplicaciones. En la 
primera parte se explican los me- 
dios de transmisión de datos (se- 
rie, paralelo) y aplicación de la co- 
nexión RS-232C a los ordenado- 
res. En el segundo capítulo se tra- 




tan las bases de la conexión, así 
como la función de las señales bá- 
sicas de ésta. El capítulo tercero 
está dedicado a la UART (Univer- 
sal Asynchronous Receiver Trans- 
mitters: Receptores/Transmisores 
Asincronos Universales) circuito 
encargado del trabajo del RS- 
232C. En el capítulo siguiente, en- 
contramos una serie de reglas y 
trucps para enfrentarnos eficaz- 
mente a las conexiones prácticas. 
A continuación se explican algu- 
nos conceptos técnicos necesa- 
rios par comprender el funciona- 
miento y limitaciones del interface 
RS-232C. Estos conceptos están 
simplificados al máximo, por lo 
que son fácilmente comprensibles 



Foto 2: Cartucho ROM con software 
incorporado. 

aplicación interesante consiste en 
la conexión con el ordenador de 
algún vecino ya que dadas las ca- 
racterísticas eléctricas del fíS- 
232C se pueden conectar dos 
aparatos a una distancia de unos 
160 metros utilizando una veloci- 
dad de 4800 baudios con un por- 
centaje de error menor al de un 
cassette normal. 



por cualquier persona. 

El resto del libro está dedicado 
al RS-232C práctico. En esta parte 
se describen una serie de herra- 
mientas y técnicas para comenzar 
a realizar conexiones prácticas. 
También se exponen una serie de 
casos concretos, detallando todos 
los pasos a seguir para resolver 
cada uno de los problemas. 

El libro concluye con una espe- 
cie de catálogo donde se descri- 
ben algunas de las herramientas y 
utensilios más utilizados en las 
prácticas con RS-232. 

Se trata de un libro adecuado 
para todos los que deseen adqui- 
rir conocimientos sobre el RS- 
232C, así como para los que sim- 
plemente deseen conectar una 
impresora o cualquier otro tipo de 
periférico. El lenguaje utilizado es 
muy aseguible y contiene nume- 
rosos y sencillos ejemplos por lo 
que su lectura resulta entretenida 
y sencilla. 



34 MSX 



I 




PARTICI 
EN NUESTRO 

CONCURSO 

M SX Magazine premiará cada mes Jos 
programas que nos hagan llegar nuestros 
lectores. 

Para participar en este concurso 
abierto, todo aficionado a los ordenado 
con este estándar deberá hacer llegar a 
redacción de la revista el listado, un tHKjíL 
cassette y un texto explicativo. , 

Entre todos los programas que 
recibamos cada mes, serán seleccionados^ 
para su publicación aquellos que r^üneu^ 
los siguientes criterios: / 

— Originalidad de la aplicación/ ^¿g^, 

— Simplicidad del método de 
programación. 

La única condición para participar en 
el concurso será que los programas no 
hayan sido publicados previamente enX^ 
ninguna revista. 

Enviar vuestros programas a: MSX Magazir)é 
C/Bravo Murillo, 377 - 5.° A 28020 MADRID C 





aplicaciones 




Utilización de 

ficheros 
de datos 



seréis relativamente pocos. No 
obstante, todo lo dicho aquí es vá- 
lido para ficheros en disco de ac- 
ceso secuencial. 

El sistema MSX nos permite pa- 
sar datos de la memoria principal 
a cinta magnetofónica (y, lógica- 
mente, retornar los datos de la cinta 
magnética almacenándola en la 
memoria principal). Pero para ello 
debemos ABRIR un archivo, de la 
misma forma que para escribir o 
leer en un listín telefónico los telé- 
fonos y direcciones de nuestros 
amigos tenemos que abrir el listín. 

MSX nos permite abrir hasta 15 
ficheros simultáneamente, pero 
para ello tenemos que indicarle al 
ordenador cuántos archivos va- 
mos a utilizar. Esto se hace con la 
sentencia MAXFILES, como sigue: 

10 MAXFILES N 

en que N puede valer de 0 a 1 5. Es 
importante, cuando utilicemos es- 
ta sentencia, hacerlo al principio 
del programa (lo mismo que la 
instrucción CLEAR) ya que este ti- 
po de sentencias provocan una 
reordenación interna de la memo- 
ria. 

No obstante, lo dicho anterior- 
mente, si n es igual a 1, puede 
omitirse la sentencia MAXFILES, ya 
que 1 es el valor que se toma por 
defecto al conectar el ordenador. 
(Cuando n=0 no podemos utilizar 
ningún fichero, pero se gana algo 
de memoria). 

Podemos abrir un archivo para 
dos cosas: para escribir datos en 



n el último número de MSX 
Magazine vimos un ejem- 
_ pío de utilización de varia- 
bles con subíndices. Con el pro- 
grama que veíamos entonces po- 
díamos almacenar en la memoria 
del ordenador los nombres, direc- 
ciones y teléfonos de nuestros 
amigos. Pero de poco nos servía 
todo eso ya que, una vez desco- 
nectado el ordenador, toda la in- 
formación almacenada se perdía. 
BASIC MSX posee, sin embargo, 
un conjunto de instrucciones que 
nos permitirá guardar en cinta 
magnetofónica toda esa informa- 
ción y reutilización cada vez que 
nos interesa. 

Seguiremos con el programa 
del listín telefónico, que iremos en- 
grosando y mejorando con las 
nuevas instrucciones y caracterís- 
ticas de Basic MSX que vayamos 
aprendiendo. 



Cómo abrir un fichero 

En todo lo que sigue nos limita- 
remos al uso de ficheros en cinta 
magnetofónica. Hablaremos de 
los ficheros en disco cuando la se- 
rie está más avanzada, ya que, ca- 
si con toda seguridad, los usuarios 
que poseáis una unidad de disco 




cinta magnética, o para leer datos 
anteriomente escritos en cinta. Pa- 
ra pasar datos del ordenador a la 
cinta utilizaremos la sentencia. 

1000 OPEN "NOMBRE" FOR 
OUTPUT AS N 

En esta sentencia, "NOMBRE" 
es el nombre que queremos dar al 
archivo. Debe ir entre comillas y 
tendrá como máximo 6 dígitos, de 
los que el primero debe ser una le- 
tra, y N es el número del archivo 
que queremos abrir, que estará 
dentro del rango marcado por la 
sentencia MAXFILES al principio 
del programa. (Si no hemos am- 
pliado el número de archivos dis- 
ponibles con la sentencia MAXFI- 
LES, entonces, necesariamente, 
N=1). 

Si lo que queremos es leer da- 



36 MSX 




tos de una cinta magnética, escri- 
biremos la sentencia. 

1000 OPEN "NOMBRE" FOR 
INPUT AS N 

que se diferencia de la anterior en 
que aquí hemos escrito INPUT (en- 
trada) en lugar de OUTPUT (sali- 
da). 

Cómo cerrar un archivo 

Hemos visto que (siempre en 
relación con la utilización de cinta 
magnética como soporte para al- 
macenar datos) podemos abrir un 
archivo para escribir en él o para 
leer de él, pero no podemos hacer 
las dos cosas a la vez. Por eso, 
después de haber escrito en el ar- 
chivo 1 (teniendo, por defecto, 



MAXFILES=1), no podremos leer 
en él si no lo cerramos préviamen- 
te. En cualquier caso es conve- 
niente cerrar todos los archivos 
^abiertos en un programa antes de 
abandonar éste, ya que en caso 
contrario (salvo si desconectamos 
el ordenador o cerramos los archi- 
vos en modo directo) no podre- 
mos abrir ese archivo nuevamen- 
te. (Obtendremos un error del tipo 
FILE ALREADY OPEN, Archivo ya 
abierto). 

Para cerrar un archivo abierto 
con la sentencia OPEN, utilizare- 
mos la sentencia CLOSE de una 
de las tres formas siguientes: 

CLOSE N - Cierra el archivo 
abierto con el número N. 

CLOSE N, O, P...- Cierra 
los archivos abiertos con los nú- 
meros N, O, P... 

CLOSE - Cierra todos los archi- 
vos abiertos anteriormente. 

Escribir y leer un 
archivo 

No vamos a ver, por ahora, to- 
das las posibles formas de escribir 
o leer un archivo en cinta magnéti- 
ca, sino solamente la forma más 
útil para escribir y las dos formas 
más útiles para leer. 

La forma más sencilla de escri- 
bir datos numéricos (sean del tipo 
que sean) y alfanuméricos es me- 
diante la instrucción PRINT N, 
que significa ESCRIBIR en el ar- 
chivo N, por ejemplo: 

200 PRINT 1, A% 

300 PRINT 1, A! 

400 PRINT 1, A 

500 PRINT 1, A$ 

NOTA: Aunque es posible escri- 
bir en un archivo varias variables 
con una sola instrucción 
PRINT N t (PRINT 7,A%,A!,A , 
A$) recomendamos no hacerlo 



así, pues podrían originarse erro- 
res de lectura. 

Para leer variables numéricas 
de un archivo, lo haremos me- 
diante la instrucción INPUT N, 
seguida del nombre de la variable: 

600 INPUT 1, A% 

700 INPUT 1, A! 

800 INPUT 1, A 

Cuando se trata de leer varia- 
bles alfanuméricas, la forma más 
sencilla y útil de hacerlo es con la 
instrucción UNE INPUT N, segui- 
da del nombre de la variable. 

900 UNE INPUT 1, A$ 

(esta instrucción es muy útil, ya 
que lee variables alfanuméricas 
hasta que encuentra un código de 
retorno, es decir, un indicativo de 
que la variable ha terminado. Este 
código se introduce automática- 
mente al grabar el dato en la cinta 
mediante la instrucción 
PRINT N,). 

Veamos ahora cómo queda 
modificado el programa 2 del mes 
pasado al introducir un fichero pa- 
ra escribir y otro para leer los datos 
personales de nuestros amigos. 
(Véase el diagrama de flujo y el 
programa listado en estas pági- 
nas). 

Al principio el programa es igual 
que el programa 2 del mes pasa- 
do: hemos determinado el espa- 
cio de memoria asignado a varia- 
bles alfanuméricas y el modo de 
pantalla, dimensionando la varia- 
ble A$ y definido la variable B$. 
Entre las líneas 1 10 y 270 hemos 
introducido un pequeño «menú» 
que nos permitirá elegir la opción 
que deseamos ejecutar (introducir 
fichas en memoria, leerlas, o recu- 
perar el archivo previamente gra- 
bado en cinta). 

Si elegimos la opción 1, se eje- 
cutará el trozo de programa com- 
prendido entre las líneas 280 y 



MSX 37 





630. Las líneas 320 y 440 son simi- 
lares a las correspondientes del 
programa 2 y nos permiten intro- 
ducir los datos en la memoria del 
ordenador. Al terminar una ficha, 
podemos elegir entre introducir 
una nueva ficha o no hacerlo. En 
este caso (línea 450), el programa 
nos preguntará si queremos gra- 
bar el fichero en cinta magnética. 
Si no es así, el programa vuelve al 
menú, y en caso contrario se eje- 
cutan las líneas 460 a 630. En la 
línea 520 se abre el archivo con el 
nombre «TELEFONOS» (las tres 
últimas letras «NOS» son ignora- 
das por el ordenador) para escri- 
bir en cinta (OUTPUT), y ? conti- 
nuación se escriben los datos me- 
diante la sentencia PRINT 1, se- 
gún hemos indicado. Una vez ter- 
minado de grabar, el archivo se 
cierra (línea 590), y el programa 
nos pregunta si queremos volver 
al menú (línea 6 1 0), si la respuesta 
es distinta de «S» (línea 620) el 
programa termina (sentencia END 
de la línea 630). (Si por error he- 
mos salido del programa, pode- 
mos continuar escribiendo -en 



modo directo- GOTO 150). 

La opción 2 nos permite leer las 
fichas de la misma forma que se 
hacía en el programa 2, y con la 
opción 3 podemos recuperar los 
datos de cinta, para escribir más 
datos o simplemente para leerlos. 
El funcionamiento de este trozo de 
programa (líneas 640 a 800) es 
parecido al de grabación. La dife- 
rencia está en que aquí vamos a 
leer en lugar de escribir, y, por tanto, 
abrimos el archivo (línea 710) pa- 
ra leer (INPUT). La sentencia 
OPEA/... FOR OUTPUT... escribe 



una cabecera de archivo que con- 
tiene el nombre, de forma que di- 
cho archivo pueda ser identificado 
por la sentencia OPEN... FOR IN- 
PUT... Para saber que dicha cabe- 
cera ha sido encontrada hemos 
puesto la instrucción PRINT de la 
línea 720. A continuación se lee la 
variable numérica 1% (contador) y 
acto seguido se leen las fichas 
(variables alfanuméricas 
¿$(I1%,J%) de la línea 760). Una 
vez cerrado el archivo, el progra- 
ma vuelve al menú. 
J. Antonio Castejón 



38 MSX 





18 REH LISTIN TFL FFHMirn - 1 


CAA DDT WT 






28 REH ===================== 


Slft DOTMT ■ CDADAkinn ■ 

011 rnlHI bKfltíRNUU... 






38 REH 


COA nnr*ii i tti rmunri r*nn niirnur «ni 

52f OPEN TELEFONOS FOR OUTPUT AStl 






48 CLEAR 20860 


COA DDIUTK 11 

jj8 PRINTtl ,11 






58 SCREEN 0 0 


540 FOR 112=1 TO II 






60 Din ft$(188,i: 


C.CA cno 17-a m o 
jjb rUN JZ-c 1 U ¿ 






78 B$(0)="NOHBRE * 


560 PRINTil 1 A$(I1I 9 J2) 






B8 B$(1)='DIRECCI0N" 


570 NFYT IT 






98 8$(2)="TELEF0N0 ■ 


580 NFXT 11! 






188 REH 


c i90 n nsr ti 

•J/V LlUJL ti 






118 REH 


avv rn i n i 






128 REH HENU 


A 1 A INPUT "/ÍIF^FAQ uní UTP Al MPMII 






130 REH 








140 REH 


620 IF A$="S" THEN 150 






150 CLS 


630 END 






160 PRINT " HENU" 


640 REH 






170 PRINT ' 


650 REH RECUPERAR DATOS DE CINTA 






1B0 PRINT 


660 REH 






190 PRINT "PULSA 1 PARA INTRODUCIR FICHA 


678 REH 






S" 


680 CLS 






208 PRINT "PULSA 2 PARA LEER FICHAS" 
210 PRINT "PULSA 3 PARA RECUPERAR DATOS 


690 INPUT "SI LA CINTA ESTA PREPARADA PU 












DE CINTA" 


LSA 'S'";AI 
708 IF A$<>"S" THEN 680 
710 OPEN "TELEFONOS" FOR INPUT AStl 






220 PRINT 






230 INPUT AI 


720 PRINT "ARCHIVO ENCONTRADO..." 
730 INPUTt 1 ,12 
740 FOR 112=1 TO II 
750 FOR J2=0 TO 2 






240 IF AM THEN 328 






258 IF AI=2 THEN 858 






268 IF AI=3 THEN 688 






278 GOTO 150 








280 REH 


768 LINE INPUTtl,A$(I12,J2) 
770 NEKT JI 






290 REH INTRODUCIR FICHAS 


780 NEXT 112 






300 REH 


790 CLOSE ti 
800 SOTO 150 






310 REH 






320 CLS 


810 REH- 






330 IMM 


820 REH BUSCAR FICHA 






340 PRINT "FICHA Na";II 


830 REH 






358 FOR 111=0 TO 2 
360 PRINT 


840 REH 












370 PRINT BKIII); 


850 CLS 






388 INPUT A$(IX,I1I) 


860 INPUT "DIHE EL NOHBRE";A$ 






390 NEKT III 


870 FOR 112=1 TO II 






400 PRINT 


880 IF A$OA$(I1I,0) THEN NEXT III 






410 PRINT 


890 CLS 






420 INPUT "¿DESEAS INTRODUCIR OTRO NUHER 


900 FOR 121=0 TO 2 






O...S/N";A$ 


910 PRINT 






430 IF A$="S" THEN 320 


920 PRINT BKI22);": - ;A$(I1I,I2I) 






440 PRINT 

7 IV 1 lililí 


930 NEXT 122 






450 INPUT MIFSFAS RRARAR FN PINTA 


940 PRINT 






....S/N":A$ 

•Itiwin inf 


950 PRINT 
960 PRINT 






460 IF A$="N" THEN 150 






470 PRINT 


970 INPUT "¿DESEAS BUSCAR OTRA FICHA.... 






480 INPUT 'SI LA CINTA ESTA PREPARADA PU 


.S/N";A$ 






LSA '8" ¡Al 


980 IF A$="S" THEN 850 






490 IF AIO'S" THEN 480 


990 BOTO 150 





MSX 39 



código máquina 



BASIC 

en Código 
Máquina 




o es objeto de este artículo 
el de convencer a los lecto- 
res de las enormes venta- 
jas y posibilidades que ofrece la 
programación en Código Máqui- 
na (C/M), ni tampoco la de advertir 
de los grandes inconvenientes 
que al programador medio se le 
presentan a causa de la dificultad 
que plantea su correcta utilización. 
El BASIC MSX es cómodo de ma- 
nejar, sencillo de utilizar y propor- 
ciona una gran diversidad de co- 
mandos y funciones que facilitan 
enormemente la realización de 
cualquier programa. Su diversi- 
dad de tipos de variables, de fun- 
ciones matemáticas definidas, de 
funciones de presentación en 
pantalla y su facilidad para el trata- 
miento de ficheros, son elementos 
que, añadidos a los macrolengua- 
jes de música y gráficos, instru- 
mentalizan más que adecuada- 
mente el ingenio y capacidad de 
programación de cualquier usua- 
rio de este lenguaje. Pero no todo 
van a ser ventajas, y al programa- 
dor en BASIC MSX se le presentan 
básicamente dos graves inconve- 
nientes: la lentitud en la ejecución 
y la gran ocupación de memoria 
que impone este lenguaje. 

Frente a estos problemas, y co- 
mo la mejor solución a ellos, se 
abre la posibilidad de programar 
en C/M, lenguaje que los solucio- 
na gracias a su gran rapidez y 



mínima ocupación de memoria, 
además de su potencia, que le 
permite acceder a todos los recur- 
sos que le brinda el estándar MSX. 
Pero como ya indicábamos al co- 
mienzo de este artículo, tampoco 
son pequeños los problemas que 
el C/M plantea al programador, 
aunque de otra índole a los del 
BASIC Fundamentalmente, pode- 
mos reducirlos uno, y es su gran 
complejidad, que a su vez genera 
dificultad en el entendimiento y 
lentitud en la programación. A ello 
hay que añadir otro de gran im- 
portancia: no tiene todos los co- 
mandos y funciones que tiene el 
BASIC MSX. 

En este artículo sólo se prenten- 
de indicar lo que podría ser una 
solución al último de los proble- 
mas planteados, es decir, la posi- 
bilidad de que programas que re- 
quieran gran velocidad en su eje- 
cución por su propia naturaleza 
(de juegos o con muchos cálculos 
y bucles) puedan ser realizados 
en C/M utilizando todos los co- 
mandos y funciones del BASIC, 
sin necesidad de crear, con gran 
dificultad, las rutinas que ya se en- 
cuentran en la ROM. 

A medida que un programador 
va introduciendo en el micro un 
programa en BASIC, aquél, aun- 
que lo almacena todo en la me- 
moria, con sus comandos y sus 
funciones, no lo hace de la misma 




manera para todos sus elementos. 
Para ahorrar memoria y aumentar 
la velocidad de ejecución, el orde- 
nador selecciona las palabras re- 
servadas para los comandos y 
funciones (palabra-clave) y las 
guarda sólo como uno o dos by- 
tes. Así, por ejemplo, una línea del 
programa que contuviese la si- 
guiente orden: PRINT VALfMSX") 
sería guardada en memoria como 
sigue: 

91 ,20,FF,94,28,22,4D,53,58,22 y 
29 (todo ello en hexadecimal)d. 
Para PRINT (comando) la memoria 
es ocupada con un solo byte, el 
correspondiente a su código equi- 
valente: 91. El 20 sería el espacio 
entre PRINT y VAL, y el resto sería 
el equivalente a los parámetros 
del comando: VAL("MSX")>. De 
todos ellos, la función (VAL) es re- 
presentada simplemente por su 



40 MSX 




código (FF,94), mientras que todo 
lo que resta son los códigos ASCII 
de «MSX». Es decir, una línea 
compuesta por los cinco bytes de 
los códigos ASCII del comando 
(PRINT) y diez de los parámetros 
<VAL( u MSX°)> t se registra en la 
memoria del ordenador como 
nueve bytes, de los cuales tres co- 
rresponden a códigos predefini- 
dos por el BASIC para las pala- 
bras-clave, ya sean comandos o 
funciones (PRINT y VAL, respecti- 
vamente). 

El proceso que se verifica, en la 
ejecución de dicha línea por el in- 
térprete de BASIC es, esquemáti- 
camente, el siguiente: el BASIC 
apunta con el registro HLal primer 
byte de la cadena que compone 
los parámetros del comando 
PRINT, que será el correspondien- 
te a la función VAL, es decir, a la di- 



rección donde se encuentra el FF. 
A continuación llama (realiza un 
CALL) a la rutina de la ROM que 
ejecuta al comando PRINT Cuya 
ejecución incide sobre los pará- 
metros apuntados previamente 
por HL Para el comando PRINT la 
rutina se encuentra en &H4A24. 

Cuando se ejecute una de estas 
rutinas desde C/M hay que tener 
cuidado de acabar siempre la ca- 
dena de parámetros con dos pun- 
tos «:» para evitar la realización de 
algún error. Por ejemplo: 
<VAL( ll MSX"):>. 

La tabla adjunta contiene todos 
los comandos y funciones del BA- 
SIC con sus códigos y la dirección 
de la ROM donde están las rutinas 
que ejecuta cada uno de ellos. 

De todas las facilidades que 
esas rutinas del BASIC nos dan, 
hemos elegido los comandos 



PLAY y DRAW para desarrollar 
unas rutinas por considerarlos in- 
teresantes para los lectores. 

El comando PLA Y utiliza una ca- 
dena alfanumérica que contiene 
el macrolenguaje de música. Para 
ejecutarla desde C/M hay que en- 
trecomillarla y a continuación de 
ella, como ya se dijo, se han de po- 
ner dos puntos. 

La potente rutina de música del 
BASIC es fácilmente extrapolable 
al ensamblador: 

LD HL.CADENA ; Apunta a 
los parámetros. 
CALL $73E5 ; Ejecuta el 
PLAY 

RET 

CADENA :DB " 4 V1 0O4CDEF":' 

Para utilizar los tres canales de 
música, se realiza lo mismo y las 
cadenas se separan por comas 
(igual que en BASIC). 

LD HL.CADENA 
CALL $73E5 
RET 

CADENA :DB •"01CDEFGG"" 
DB , "04DEFGFA" 1 ; 
DB , "V6EFGABA": , 

Para los gráficos, por su parte, 
primero hay que ejecutar SCREEN 
2 para luego utilizar el DRAW. 

LD HL.SCREEN ; Apunta el 
parámetro de SCREEN. 
CALL $79CC ; Rutina en 
ROM de SCREEN. 

LD HL.CADENA ; Apunta a 
la cadena de gráficos. 
CALL $5D6E ; Llama a 

DRAW. 

RET 

SCREEN :DB $13/:' 
CADENA :DB "'BM 100,1 50U50E50' 
•FSODSOLIOO": 1 

Otra particularidad del BASIC es 
que las constantes numéricas 
tampoco se guardan como carác- 
teres ASCII, sino que lo hace de 
una forma más complicada según 
el tipo de variable que sea. Deja- 
mos a la inteligencia del lector el 
que descubra de qué forma se 
guardan estas constantes. 



MSX 41 



iVMiini 





Si no se está seguro de cómo 
guarda el BASIC los parámetros 
de algunos comandos. Lo mejor 
que se puede hacer es escribir la 
línea en BASIC para luego mirar la 
memoria con pokes. Si lo escribe 
en la primera línea del programa y 
tiene un ordenador de 32 ó 64 K 
RAM, el comando se encuentra en 
la dirección &H8005. 

J. Domingo Sandoval 




TABLA DE LAS RUTINAS DEL BASIC EN ROM 



Palabra 


co'd j go 


di rece ion 


palabra 


código 


di rece Ion 


Pal dbra 


co'd i go 


di rece ion 


pa 1 abra 


código d 


rece ion 


END 


81 


63EA 


FOR 


82 


4524 


TIME 


CB 


7911 


KEY 


CC 


786C 


NEXT 


83 


6527 


DATA 


84 


485B 


MAX 


CD 


7E4B 


MOTOR 


CE 


73B7 


INPUT 


85 


4B60 


OIM 


86 


5E9F 


BLOAD 


CF 


6EC6 


BSAVE 


00 


6E92 


PEAD 


87 


4B9F 


LET 


88 


4880 


DSKO» 


DI 


7C16 


SET 


D2 


7C1B 


GOTO 


89 


47E8 


RUN 


8A 


479E 


ÑAME 


03 


7C20 


KILL 


D4 


7C25 


!F 


8B 


49E5 


PESTORE 


8C 


63C9 


IPL 


D5 


7C2A 


COPY 


D6 


7C2F 


GOSUB 


80 


4 762 


PETIJRN 


8E 


4821 


CMD 


D7 


7C34 


LOCATE 


08 


7766 


REM 


8F 


4850 


STOP 


90 


63E3 


USR 


DO 


4FD5 


FN 


DE 


5040 


PPINT 


91 


4A24 


CLEAP 


92 


64AF 


ERL 


E2 


4E0B 


STRINGf 


E3 


6829 


LIST 


93 


522E 


NEW 


94 


6286 


INSTR 


E5 


68E6 


VARPTR 


E7 


4E41 


ON 


95 


48E4 


WAIT 


96 


401C 


CSRLIN 


E8 


790A 


ATTRt 


E9 


7C43 


DEF 


97 


5010 


POKE 


98 


5423 


DSKIt 


EA 


7C3E 


INKEYf 


EC 


7347 


CONT 


99 


6424 


CSAVE 


9A 


6FB7 


POIJfT 


ED 


5803 


LEFT$ 


FF 81 


6861 


CLOAD 


9B 


783F 


OUT 


9C 


4016 


PIGHTf 


FF 82 


6891 


MIDt 


FF 83 


689A 


LPRINT 


90 


4AID 


LLIST 


9E 


5229 


SGN 


FF 84 


2E97 


I NT 


FF 85 


30CF 


CLS 


9F 


00C3 


WIDTH 


A0 


51C9 


ABS 


FF 86 


2E82 


SQR 


FF 87 


2AFF 


ELSE 


Al 


4850 


TRON 


•A2 


6438 


RND 


FF 88 


2BDF 


SIN 


FF 89 


29AC 


TPQFF 


A3 


6439 


SWAP 


A4 


643E 


LOG 


FF 8A 


2A72 


EXP 


FF 8B 


2B4A 


ERASE 


A5 


6477 


ERROR 


A6 


49AA 


eos 


FF 8C 


2993 


TAN 


FF 8D 


29FB 


RESUME 


A7 


495D 


DELETE 


Afl 


53E2 


ATN 


FF 8E 


2A14 


FRE 


FF 8F 


69F2 


AUTO 


A9 


49B5 


RENIJM 


A A 




INP 


FF 90 


4001 


POS 


FF 91 


4FCC 


DEFSR 


AB 


4718 


DEF I NT 


AC 


471P 


LEN 


FF 92 


67FF 


STRf 


FF 93 


6604 


DEFSNG 


AD 


471E 


DEFDBL 


AK 


4721 


VAL 


FF 94 


68BB 


ASC 


FF 95 


680B 


UNE 


AF 


4B0E 


OPEN 


BP 


• AP 7 


CHP$ 


FF 96 


681B 


PEEK 


FF 97 


541C 


FIELD 


Bl 


7C52 


GET 


b: 




VPEEK 


FF 98 


7BF5 


SPACE* 


FF 99 


6848 


PUT 


B3 


7758 


CLOSE 


B4 




OCTt 


FF 9A 


65F5 


HEXS 


FF 9B 


65FA 


LOAD 


B5 


6B5D 


MEPGF 




£B5E 


LPOS 


FF QC 


4FC7 


BIN* 


FF 90 


65FF 


FILES 


B7 


6C2F 


LSET 


B8 


7C48 


CINT 


FF 9E 


2F8A 


CSNG 


FF 9F 


2FB2 


RSET 


B9 


7C40 


5 A VE 


BA 


6BA3 


CDBL 


FF A0 


303A 


FIX 


FF Al 


30BE 


LF I LES 


BB 


6C2A 


CIPCLE 


BC 


5B1 1 


STICK 


FF A2 


.7940 


STRIG 


FF ,A3 


794C 


COLOR 


BD 


7980 


PRAW 


BE 


506E 


PDL 


FF A4 


795A 


PAD 


FP fe 


7969 


PAINT 


BF 


59C5 


BEEP 


C0 


00C0 


OSKF 


FF A£ 


7C39 


FPOS 


FF A7 


6039 


PLAY 


Cl 


73E5 


PSET 




57EA 


ovi 


FF A8 


7C66 


CVS 


FF A9 


7C6B 


PRESET 


C3 


57E5 


SOLIND 




73CA 


evo 


FF AA 


7C70 


EOF 


FF AB 


6D25 


SCREEN 


C5 


79CC 


VPOKE 


C6 


7BE2 


LQC 


FF AC 


6003 


LOF 


FF AD 


6D14 


SPR1TE 


C7 


7A48 


VDP 


ce 


7B37 


MK 1 1 


FF AE 


7C57 


MKS$ 


FF AF 


7C5C 


BASE 


C9 


7B5A 


CALL 


CA 


55A8 


MKO* 


FF 80 


7C61 









Todos los códigos de las palabras reservadas del BASIC y las direcciones de las rutinas en ROM están en hexadecimal 



42 MSX 



Ordena tus propias ideas 



Le sacarás partido a tu ordenador 




MSX: 

Guia del programador y manual 
de referencia 

T. Sato, P.Mapstoneel. Muríe) 
2.279¡m 



EL 




A 





LENGUAJE MAQUINA MSX. 

Introducción y conceptos 

avanzados 

Joe Pritchard 

1537 pus. 



EL LIBRO GIGANTE 

DE LOS JUEGOS PARA MSX 

Andrew Lacey 
UWpos. 



DESCUBRE TU MSX. 
Programación y aplicaciones 
Joe Pritchard 

l.272ptas. 



INTELIGENCIA ARTIFICIAL 

Conceptos y programas 
Tim Hartnell 

1.484 pías. 

EL SUPERLIBRO DE LOS 
JUEGOS PARA ORDENADOR 

Tim Hartnell 

2.120 ptas. 

CODIGOS Y CLAVES 
SECRETAS 

Criptografía en Basic 
Gareth Greenwood 
1378 ptas, 



PROGRAMACION DEL Z80 

Rodnay Zaks 
2.915 ¡tos. 

SISTEMAS EXPERTOS 

Introducción al diseño 
y aplicaciones 
Tim Hartnell 
2.1 JO ptas. 

SIMULACIONES 

Replica la realidad con tu 

ordenador 

Tim Hartnell 

1.643 ptas. 



□ Les ruego me envíen el catalogo de su editorial. 

□ Les ruego me envíen los siguientes títulos: 



TOTAL 



□ Adjunto talón bancario a 

GRUPO DISTRIBUIDOR EDITORIAL S. A. 

□ Pagare contrarrembolso (+ 1 25 pesetas de gasto de envío). 
Nombre 



Profesión 
Dirección 
CP 



Localidad 



Provincia 



¡ 



ANAYA 

■multimedia™ 



Adquiéralos en su librería habitual. 

Si do le es posible o desea que le enviemos nuestro catálogo, envíe este cupón a: 
Apdo. de Correos 1 4632. Reí. D. de C 28080 MADRID 
Comercializa: GRUPO DISTRIBUIDOR EDITORIAL. 



i rom 



El BIOS 

de la memoria 
de vídeo 



(y viii) 



Ir* 



jara los no inciados en Có- 
digo Máquina, este artículo 
CT T) puede ser un barullo in- 
comprensible, pero si prestáis un 
poco de atención no es demasia- 
do complicado. Los únicos cono- 
cimientos que necesitáis para en- 
tenderlo son: 

— Conocer la existencia de los 
registros A, F, HL, BC, DE. 

- Saber que la RAM tiene 
65536 octetos, de los cuales va- 
mos a tener que utilizar unos 
cuantos. 



- Saber que el Código Máqui- 
na se basa en una larga serie de 
instrucciones llamadas «nemóni- 
cos», una de las cuales («CALL») 
sirve para acudir al BIOS. 

¿Qué es el BIOS? 

En pocas palabras, el BIOS (Ba- 
sic Input-Output System = Siste- 
ma Básico de Entrada y Salida) es 
una larga lista de subrutinas en 
Código Máquina que el progra- 



mador puede emplear siempre 
que quiera, y gracias a las cuales 
puede lograr ciertos objetivos, en 
la mayor parte de los casos inal- 
canzables dése BASIC, muy rápi- 
damente. Estas subrutinas están 
numeradas en hexadecimal, de 
tres en tres. Para que se ejecute 
una subrutina, sólo hay que em- 
plear la orden CALL en Código 
Máquina, y a continuación el nú- 
mero de la subrutina en hexadeci- 
mal. 




Con este artículo 

cerramos la serie que hemos 

dedicado 

a la memoria de video. 
Esperamos que pronto 
invadan nuestra redacción 
miles de programas 
de buena calidad, 
empleando los muchísimos 
mecanismos 
gráficos que hemos ido 
desarrollando. 





el bios 



De esa larga lista nosotros sólo 
vamos a hablar de aquellas que 
se refieren, de una manera u otra, 
a la memoria de vídeo. Muchas de 
ellas no son de aplicación inme- 
diata, es decir, se necesitan unas a 
otras para lograr algún objetivo. 
Por culpa de esto, no podremos 
comentar muchas aplicaciones, 
por lo que quizá este artículo os 
parezca mucho menos útil que los 
otros siete, poro lo cierto es que sí 
son útiles: ya iréis viendo su utili- 
dad con la práctica. 



Las subrutinas del BIOS 

La primera de las subrutinas del 
BIOS de la memoria de vídeo tiene 
el número hexadecimal &H4 1 . Por 
lo tanto, para que funcione tenéis 
que programar CALL &H0041 (fi- 
jaos que se ponen cuatro cifras 
hexadecimales, porque si no, el 
ordenador no lo entiende). Lo que 
hace esta subrutina es lo mismo 
que sucede cuando ponéis a 0 el 
bit BLANK, del registro VDP(] ), co- 
mo veíamos en el número ante- 
rior. La pantalla pierde todo el co- 
lor de la tinta, y se pone del color 
de fondo. Sus aplicaciones son las 
mismas que en aquel caso. Esta 
subrutina funciona combinada 
con la siguiente, y recibe el nom- 
bre de DISSCR. 

La siguiente, la &H0044, recibe 
el nombre de ENASCR, y su fun- 
ción es la inversa, es decir, volver a 
pintar en la pantalla los colores 
que ha borrado la ejecución de la 
&H0041, y poner también en la 
pantalla todo aquello que haya si- 
do introducido después desde te- 
clado. Se suele utilizar junto con la 
anterior para crear parpadeos o 
apariciones instantáneas en la 
pantalla. Es equivalente a poner a 
1 el bit BLANK. 

La subrutina que va a continua- 





ción es la &H0047, que recibe el 
nombre de WRTVDP, y sustituye a 
la orden en BASIC: VDP(a)=b, 
donde b es un número entre 0 y 
255, y a es el registro VDP donde 
se va a introducir ese número. El 
valor de a se introduce en el regis- 
tro C, y el valor de b en el registro B 
(B y C son la pareja de registros 
del microprocesador 280A). A 
continuación se llama a esta su- 
brutina y suceden dos cosas: la 
primera es que el registro VD- 
P(a) se introduce el valor b, y la se- 
gunda es que en el octeto 
(&HF3DF + a) de la memoria RAM 
se introduce el número b, porque 
si luego necesitáis saber cuál era 
el número b, no tenéis más que 
mirar en el octeto &HF3DF + a, y 
lo sabréis. Por ejemplo, si en 
VDP(3) queréis intoducir un 1 , con 
esta subrutina lográis que se intro- 
duzca ese 1 en VDP(3), y que ade- 



más se introduzca un 1 en el octe- 
to &HF3DF + 3, es decir, en el oc- 
teto &HF3E2. 

La subrutina número &H004A 
recibe el nombre de RDVRM, y sir- 
ve para que el programador pue- 
da conocer el número que hay en 
un octeto de la memoria de vídeo. 
Sustituye a la sentencia VPEEK en 
BASIC. Si, por ejemplo, queréis 
saber qué número contiene el oc- 
teto 61 92 de la memoria de vídeo, 
tendréis que meter en HL el núme- 
ro 6192. Tras la ejecución de esta 
subrutina, el número que estáis 
buscando aparecerá en A. 

La subrutina siguiente, la 
&H004D, recibe el nombre de 
WRTVRM, y sustituye al VPOKE a,b 
del BASIC. Su función es, por lo 
tanto, la inversa de la de la subruti- 
na anterior, es decir, introducir un 
número b en un octeto a de la me- 
moria de vídeo. Si introducimos a 
en HL y b en A, y a continuación 
ejecutamos la subrutina, ya lo ha- 
bremos logrado. 

La siguiente, la subrutina 
&H0050, recibe el nombre de 
SETRD. No tendréis que usarla 
con frecuencia, pues su única fun- 
ción es ayudar a leer de la memo- 
ria de vídeo. Si queréis leer algo 
de la memoria de vídeo, hay otras 
subrutinas en el BIOS que lo leen 
directamente, como la &H0041, 
que ya hemos visto. La subrutina 
SETRD sólo conviene utilizarla en 
el caso de que queramos estable- 
cer un contacto directo con la me- 
moria de vídeo. En caso de que la 
queramos utilizar, se introduce el 
octeto a leer en el registro HL, y 
una vez ejecutada la subrutina, ya 
estará dispuesta la memoria de 
vídeo a que la leamos. 

La subrutina &H0053, llamada 
SETWRT, es muy semejante a la 
anterior, con la única diferencia de 
que ésta se refiere a introducir un 
número en un octeto. Tampoco es 



46 MSX 



SERVICIO DE EJEMPLARES ATRASADOS 




ESTOS SON LOS EJEMPLARES 
DE MSX MAGAZINE 
APARECIDOS EN EL MERCADO 
CON UN RESUMEN 
DE SU CONTENIDO 




Núm. 1 

¿Que es el MSX 9 Su BA- 
SIC, periféricos, progra- 
mas, software 




Núm. 2 

Generación de sonido. 
MSX-DOS. el ordenador 
por dentro, programas, 
noticias 




Núm. 3 

Los joysticks. 256 caracte- 
res programables. Z80 co- 
razón de león, compro/ 
vendo/cambio. 




Núm. 4 

Las comunicaciones entre 
ordenadores, la jerga in- 
formática, trucos, rincón 
del lector 




Núm. 5 

Comandos de entrada sa- 
lida, el BASIC MSX compa- 
rado con Spectrum y Com- 
modore 64. Código Ma- 
quina 




magníficos 




Núm. 

Los 8 magníficos (test 
gigante), el bus de expan- 
sión, los misterios de la 
grabación, programas 




Núm. 7 

Analizamos ol Generador de 
Sonido. Aplicaciones male 
maticas con el ordenador. La 
memoria de VÍde< >. I rucos, no- 
ticias. 




Núm. 

Compact Disc. el periférico 
del luturo. Tesl: Dynadala 
DPC-200. Continuamos con 
la memoria de video. I ibms. 
software, programas, fruí os 




Núm. 9 

Características técnicas del 
Compact Disc. Tratamiento >de 
datos. Test: Quick Disk. írti 
eos, libros, noticias, procjr.i 



PARA HACER SU PEDIDO, RELLENE ESTE CUPON, HOY 
MISMO Y ENVIELO A MSX MAGAZINE BRAVO MURILLO, 377. 
Tel. 733 96 62 - 28020 MADRID 

I 1 

| Ruego me envíen los siguientes números atrasados 

| al precio d( 300 ¡^as cada uno Cuyo importe abonare: 

| □ POR CHEÜUb □ CONTRA REEMBOLSO □ CON MI TARJETA DE CREDITO 



□ AMERICAN EXPRESS □ VISA □ INTERBANK 
Numero de mi tarjeta 



Fecha de caducidad 



I 

I NOMBRE 

| DIRECCION 

| POBLACION C p 

PROVINCIA 



^PROVINCIA 



el bios 



necesario emplearla frecuente- 
mente; el octeto en el que tendría- 
mos que escribir se introduce en 
el registro HL. 

La subrutina &H0056 recibe el 
nombre de FILVRM. Al igual que la 
subrutina &H004D, sirve para in- 
troducir datos en la memoria de 
vídeo, con la peculiaridad de que 
esta subrutina introduce el mismo 
número en muchos octetos a la 
vez. Por ejemplo, si queréis hacer 
una figura móvil en forma de cua- 
drado, de 1 6 x 1 6, tendréis que in- 
troducir 255 en los octetos del 
14336 al 14367, ocupando, pues, 
32 octetos. Utilizando esta subruti- 
na tendréis que introducir en A, 
255, en BC, 32 (el número de octe- 
tos que ocupamos), y en HL, 
14336, que es el primer octeto 
ocupado. 

La subrutina &H0059, también 
llamada LDIRMV, desplaza un blo- 
que de datos desde la memoria de 
vídeo a la RAM. Para utilizarla, te- 
néis que introducir en HL, el primer 
octeto de la memoria de vídeo 
donde comienza la información, 
en DE, el primer octeto de la RAM 
a donde se desplaza ese bloque 
de datos, y en BC, la cantidad de 
datos que tiene ese bloque. Su 
aplicación principal es poder al- 
macenar pantallas en una cinta, 
mediante la orden en BASIC"- 
BLOAD", que carga a cassette blo- 
ques de la RAM. 

La subrutina &H005C, llamada 
LDIRWM, es la opuesta a la ante- 
rior, y desplaza bloques de datos 
de la RAM a la memoria de vídeo. 
En HL tenéis que introducir el pri- 
mer octeto de la RAM (y no de la 
memoria de vídeo, como en la 
subrutina anterior) en el que co- 
mienza el bloque, en DE el primer 
octeto de la memoria de vídeo que 
recibe el bloque, y en BC la canti- 
dad de datos que hay en el blo- 
que. 



La subrutina &H005F es la equi- 
valente a la orden en BASIC 
"SCREEN", con su primer paráme- 
tro, es decir, cambia el modo de 
pantalla donde nos hallemos. El 
único dato que tenemos que darle 
es el modo SCREEN que desea- 
mos (0, 1, 2, ó 3). Introduciendo 
uno de esos cuatro números en A 
y ejecutando la subrutina, habre- 
mos cambiado el modo SCREEN. 
Esta subrutina recibe el nombre 
de CHGMOD. 

La subrutina número &H0062, 
llamada CHGCLR, sirve para esta- 
blecer los colores de tinta, de fon- 
do y de borde en el modo de pan- 
talla en el que estemos. Pero los 
datos que hemos de introducir en 
esta subrutina no los metemos en 
los registros, sino en octetos de la 
RAM. En el octeto de la RAM nú- 
mero &HF3E9, hemos de introdu- 
cir el nuevo color de la tinta, en el 
&HF3EA el color de fondo, y en el 
&HF3EB el color de borde. Si a 
continuación ejecutamos la su- 
brutina, aparecerán esos colores 
en la pantalla. 

La subrutina &H0069 recibe el 
nombre de CLRSPR, y sirve para 
borrar todo lo que la memoria de 
vídeo tuviera almacenado sobre fi- 
guras móviles. Esta subrutina ac- 
túa a la vez sobre las tablas 
8,9,13,14,18 y 19. En las tablas 8, 
1 3 y 1 8, sitúa todas las figuras mó- 
viles en la zona no visible de la 
pantalla, en los planos de proyec- 
ción, y más concretamente en la fi- 
la 209; sitúa a cada plano de 
proyección con la figura móvil 
cuyo número sea el mismo de ese 
plano de proyección, y todas las fi- 
guras móviles adquieren el color 
de fondo. En las tablas 9,1 4 y 1 9 el 
efecto es totalmente destructivo: 
llena de ceros toda la tabla, convir- 
tiendo a todas las figuras móviles 
en transparentes. 

La subrutina &H006C prepara la 



memoria de vídeo para el modo 
SCREEN 0, inicialmente las tablas 
0 y 2, y los registros VDP. Recibe el 
nombre de INITXT. 

La subrutina &H006F prepara la 
memoria de vídeo para el modo 
SCREEN 1 y, al igual que la subru- 
tina anterior, inicializa todas las ta- 
blas de este modo de texto. Reci- 
be el nombre de /A//732. 

La subrutina &H0072, al igual 
que las dos anteriores, prepara la 
memoria de vídeo e inicializa las 
tablas del modo SCREEN 2 y, tam- 
bién como las dos anteriores pre- 
para los registros VDP para este 
modo de gráficos. Recibe el nom- 
bre de INIGRP 

La subrutina &H0075, hace 
exactamente lo mismo que las tres 
anteriores, pero referida al modo 
SCREEN 3. Recibe el nombre de 
ÍNIMLT. 

La subrutina &H0078 es la pri- 
mera de otras cuatro, también re- 
feridas a los cuatro modos 
SCREEN, pero de forma más limi- 
tada. Esta subrutina sólo hace par- 
te del trabajo que hacía la subruti- 
na &H006C, es decir, únicamente 
inicializa los registros VDP para el 
modo SCREEN 0, sin alterar las ta- 
blas de la memoria de vídeo. Esta 
subrutina recibe el nombre de 
SETTXT. 

Las tres subrutinas siguientes, 
las &H007B, &H007E y &H0081, 
reciben los nombres de SE7732, 
SETGRP y SETMLT, respectiva- 
mente; sirven para inicializar los 
registros VDP de los modos 
SCREEN 1 ,2 y 3. Estas cuatro su- 
brutinas no sierven para cambiar a 
un modo SCREEN completamen- 
te, sólo lo hacen parcialmente. 

La subrutina siguiente no tiene 
nada que ver con las ocho anterio- 
res. Es la número &H0084, recibe 
el nombre de CALPAT, y sirve pa- 
ra hallar el octeto de la memoria 
de vídeo correspondiente a la ta- 



48 MSX 



bla 9, 14 ó 19, según el modo, a 
partir del cual comienza el patrón 
de una figura móvil concreta. Si, 
por ejemplo, queremos hallar el 
patrón de la figura móvil que se 
halla en el plano de proyección 3, 
introducimos 3 en A, y tras ejecu- 
tar la subrutina, aparecerá en HL el 
octeto que buscamos. 

La subrutina número &H0087, 
llamada CALATR, indica cuál es el 
octeto correspondiente a la coor- 
denada «y» en las tablas 8, 1 3 ó 1 8 
de una figura móvil concreta. Al 
igual que la subrutina anterior, en 
A introducimos la figura móvil que 
queremos, y después en HL halla- 
remos el octeto que buscamos. 

La subrutina número &H008A 
recibe el nombre de GSPSI, y sirve 
para averiguar si estamos traba- 
jando con figuras móviles «gran- 
des» (16 x 16) o «pequeñas» (8 x 
8). Si son pequeñas, tras la subru- 
tina en A aparecerá 8, y en el pri- 
mer bit de F aparecerá 0. Si son 
grandes, en A aparecerá 32, y en 
el primer bit de F, 1. 

La subrutina número &H008D 
recibe el nombre de GRPPRT, y 
sirve para pintar caracteres en la 
pantalla si os halláis en el modo 
SCREEN 2. Si introducís en A el có- 
digo ASCII del carácter a escribir, 
ese carácter se situará en el lugar 
donde esté en ese momento el 
cursor de gráficos. (El cursor de 
gráficos es un cursor que puede 
moverse por la pantalla con otras 
subrutinas de las que hablamos a 
continuación.) 

Las subrutinas siguientes del 
BIOS no tienen que ver con la me- 
moria de vídeo hasta la &H00FC. 
Esta subrutina mueve el cursor de 
gráficos un punto hacia la dere- 
cha, y recibe el nombre de 
RIGHTC. 

La subrutina &H00FF recibe el 
nombre de LEFTC, y hace exacta- 
mente lo contrario que la anterior: 



mueve un punto a la izquierda el 
cursor de gráficos. 

La subrutina &H0102se llama 
UPC, y sirve para subir un punto el 
cursor de gráficos. 

La subrutina siguiente es la 
&H0105, se llama TUPC, y es un 
caso especial de la anterior. Si 
aplicamos la subrutina anterior 
cuando el cursor de gráficos está 
en la línea superior, el cursor no se 
mueve, y no pasa nada, pero si 
ejecutamos TUPC y el cursor está 
en la línea superior, además de no 
moverse, sitúa un 1 en el primer bit 
del registro F. Por lo demás, TUPC 
actúa como UPC en todos los de- 
más casos: siempre sube el cur- 
sor un punto. 

Las subrutinas &H0108 y 
&H010B reciben, respectivamen- 
te, los nombres de DOWNC y 
TDOWNC, y son las equivalentes a 




vo A/o ñuto la culpa 
VO<AMM¡0 ¡i/fo«MÁT¡co 




las dos anteriores, pero en sentido 
opuesto. DOWNC baja un punto el 
cursor de gráficos y ya está, y 
TDOWNC, si el cursor está en la 
línea inferior, pone a 1 el bit de 
acarreo (el primer bit de F). 

La subrutina &H010E, llamada 
SCALXY, sirve para averiguar si un 
punto concreto pertenece a la 
pantalla o no. En primer lugar se 
introduce la coordenada x del 
punto que queremos investigar en 
BC, y la coordenada y en DE. Tras 
la subrutina, si (x.y) pertenece a la 
pantalla, no cambia nada en BC y 
DE. Si alguna de las dos coorde- 
nadas (o ambas) son excesiva- 
mente grandes o excesivamente 
pequeñas, se les modifica de tal 
manera que la coordenada equi- 
vocada entre en la pantalla, si es 
por exceso en el punto máximo, y 
si es por defecto en el punto míni- 
mo. Ejemplo: (-3,500) pasaría a 
ser (0,1 91 ). En el modo SCREEN 3 
hay que aplicar las coordenadas 
del punto como si estuviéramos 
en el modo SCREEN 2, pues la 
transformación de esas coordena- 
das a nuevas coordenadas basa- 
das en cuadrados de 4 x 4 píxels, 
las hace la misma subrutina. 

Las subrutina &H0111 recibe 
también el nombre de MAPXYC 
Sirve para que, una vez halladas 
las coordenadas correctas de 
nuestro punto mediante la subruti- 
na anterior, averigüemos cuál es 
el octeto de la memoria de vídeo 
que controla ese punto. Poniendo 
la coordenada x en BC, la y en DE, 
y ejecutando la subrutina, hallare- 
mos cuál es este octeto en hexa- 
decimal, en los octetos &HF92A y 
&H92B de la RAM. Este octeto de 
la memoria de vídeo controla a 
ocho píxels, y para saber cuál de 
los ochos es el que buscamos, en 
el octeto &HF92C de la RAM apa- 
recerá un número binario de ocho 
cifras, siete de las cuales serán 0 y 



MSX 49 



elbios 



una de ellas 1 . Ese 1 ocupará el lu- 
gar que ocupa nuestro píxel entre 
los otros siete de su mismo octeto. 

La subrutina siguiente, la núme- 
ro &H0114, también llamada 
FETCHC, sirve para hallar el cursor 
de gráficos. Tras la ejecución de 
esta subrutina, en HL estará el oc- 
teto que controla al punto cursor y 
a otros siete, y A tendrá un número 
binario gracias al cual podremos 
hallar el orden del píxel cursor 
dentro de ese grupo de ocho 
pixels. 

La subrutina número &H0117, 
llamada STOREC, es la contraria a 
la anterior, y permite fijar la posi- 
ción del cursor. Para introducir su 
posición, tenemos que hacerlo 
igual que antes: en HL el octeto 
que lo controla, y en A el orden en- 
tre los otros siete pixels. 

La subrutina &H01 1 A sirve para 
establecer err el sistema operativo 
del ordenador cual ha de ser el co- 
lor del cursor de gráficos. Para 
ello, tenéis que introducir en A el 
color que queráis que tenga, y a 
continuación ejecutar CALL 
&H011A. Esta subrutina también 
recibe el nombre de SETATR. 

Si has ejecutado la subrutina 
&H01 17, el ordenador ya sabe la 
posición del cursor de gráficos, y 
entonces podéis utilizar la subruti- 
na &H01 1 D, llamada READC. Sir- 
ve para hallar el color en el que se 
encuentra el cursor de gráficos. 
Tras la ejecución, el color apare- 
cerá en A. 

La subrutina &H0120, también 
llamada SETC, es una ampliación 
de la &H01 1 A. Con la &H01 1 A no 
se lograba poner el cursor de ese 
color, sólo preparaba el sistema 
operativo para que ese fuera el co- 
lor del cursor. Con la SETC si se lo- 
gra poner el cursor de un color 
concreto. Si el ordenador ya sabe 
la posición del cursor, se ejecuta 
&H011A, y a continuación 



&H0120, y el cursor adquirirá ese 
color. 

La subrutina &H0123, llamada 
NSETCX, pinta de un color concre- 
to unos cuantos puntos a la dere- 
cha del cursor. Si se emplea en el 
modo SCREEN 3, además el cusor 
se moverá un punto a la izquierda. 
Para usar esta subrutina, si el or- 
denador ya sabe la posición del 
cursor, sólo hay que introducir en 
HL la cantidad de puntos a pintar, 
y previamente utilizar &H01 1 A pa- 
ra fijar el color del que queremos 
esos puntos. 

La subrutina &H0126, llamada 
GTASPC, carga los octetos 
&HF40D y &HF40E de la RAM en 
HL y los octetos &HF40B y 
&HF40C en DE. Estos octetos sir- 
ven para expresar la relación altu- 
ra-anchura en una elipse (que se 
puede trazar con CIRCLE) en fun- 
ción del radio. Esa relación en fun- 
ción del radio será un ruimero 
concreto, a, y en los dos primeros 
octetos hay que introducir. 256 x a, 
y en los dos segundos, 256/a. 

La subrutina &H0129, también 
llamada PNTINI, sirve para el mo- 
do SCREEN 3, pues almacena el 
color del borde de una figura con- 
creta en este modo SCREEN. An- 
tes de la ejecución es necesario 
introducir en A el color del borde 
de la figura que queremos. Tras la 
ejecución, ese color estará guar- 
dado en el octeto &HFCB2 de la 
RAM. Si introducís un color, inecis- 
tente, el bit de acarreo de F se po- 
drá a 0. 

La subrutina &H012C, llamada 
SCANR es, como el anterior, muy 
conveniente si queréis utilizar 
PAINTóesóe Código Máquina. Es- 
ta subrutina, partiendo desde don- 
de está el cursor, avanza hacia la 
derecha todos los puntos que 
puede, pintándolos todos de un 
color concreto, hasta encontrarse 
con un punto del color de borde 



de una figura determinada. El co- 
lor de borde de la figura ya lo ha- 
bréis tenido que establecer usan- 
do &H0129. El color del que va a 
pintar los puntos se establece 
usando &H01 1 A, y en DE ponéis el 
número máximo de puntos que va 
a pintar el ordenador! 

La subrutina &H012F, llamada 
SCANL, es exactamente igual que 
la anterior, pero en vez de avanzar 
hacia la derecha, avanza hacia la 
izquierda. 

La última de estas subrutinas es 
la &H013E, llamada RDVDP, y al- 
macena en A una copia del regis- 
tro VDP 



La manera de usar el 
BIOS 

Poco más hay que os podamos 
comentar acerca de estas subruti- 
nas. Si queréis aprender a progra- 
mar bien el Código Máquina, sólo 
lo conseguiréis programando mu- 
chas cosas, día tras día, pues la 
experiencia es lo que mejor os va 
a poder indicar si en un momento 
dado es mejor aplicar una subruti- 
na u otra, y os va a poder enseñar 
muchos trucos que usaréis en fu- 
turas aplicaciones. Teniendo ya la 
lista de todas las subrutinas de la 
memoria de vídeo, y con los cono- 
cimientos adquiridos en esta serie, 
poseéis unas posibilidades ilimita- 
das para los mecanismos gráficos 
de vuestros programas. 

...Y eso ha sido todo. No hay mu- 
cho más que se pueda decir sobre 
la memoria de vídeo. Suponemos 
que en poco tiempo nos comen- 
zarán a llegar vuestros programas, 
muy evolucionados y cada vez 
mejores, capaces de aumentar la 
calidad de las ludotecas de nues- 
tros lectores. 

José M. Cavanillas 



50 MSX 



CURSO DE INGLES 



The Gruneberg Linkword Language System es un sistema, para enseñanza de idiomas, más rápido y 
fácil que los métodos convencionales aplicados actualmente. 

En poco tiempo, máximo 20 horas, te enseñará un vocabulario de 400 palabras y adquirirás unas buenas 
nociones de gramática. Esto te permitirá entender y ser entendido en tus viajes a lugares de habla inglesa 
o en tus contactos con personas que se expresen en ese idioma. 

Por otra parte, el Sistema PlusData, consigue que el ordenador se convierta en un perfecto profesor que 
te explicará, orientará y corregirá, manteniendo en todo momento un "diálogo" interactivo de resulta- 
dos sorprendente 



THE GRUNEBERG LINKWORD 
LANGUAGE SYSTEM 

plu/doto 



I Tavlor. "POPULAR 
COMPl?T ER WORLD": 




LINKWORD 





ETJ 



LONDON LINKWORD 




-"PERSONAL COMPUTER 
WORLD": 

"Un suceso fuera de serie..." 



CHorcE- " COM PUT£R 

Weresante... >> es el m ^ 






Programas de EAO para EGB. 
Cursos de Basic, Cobol, etc. AUTODIDACTAS. 



Nombre 

Apellidos 

Dirección 

Población 

D.P 

Forma de pago: 



i 



Reembolso □ 



.Tino 

Giro postal □ 



Envío talón □ 



□ Curso de Inglés 1. a parte. 10 lecciones Linkword. (Cinta) P.V.P. 6.900.-Ptas. 

□ Curso de Inglés 1. a parte. 10 lecciones Linkword. (3,5"-Disk) P.V.P. 7.900.-Ptas. 

ENVIAR ESTE CUPON A: PLUS DATA, S.A. CA GRAN VIA, 661 pral. 08010-Barcelona. Tel. 246 02 02 



Spectravideo 

31 8/328 SCREEN 2. 

Gráficos de 
baja resolución 



a principal característica 
del modo de baja resolu- 
ción es que la unidad míni- 
ma de representación en la panta- 
lla va a ser un conjunto de cuatro 
por cuatro Píxels al que pondre- 
mos el nombre de «macropunto». 

En la tabla de la figura 3 que vi- 
mos en el capítulo II sobre el VDP 
podemos comprobar que son úni- 
camente tres los registros que va- 
rían su contenido al cambiar de 1 
a 2 el modo de pantalla. 

En los registros 0 y 1 el cambio 
se debe a que se baja o pone a ce- 
ro el bit que indica modo 1 de pan- 
talla y se alza el que indica modo 2 
(ver figuras 2 y 3 en los capítulos 1 
y 2 sobre el VDP). 

El registro 2 ha variado su con- 
tenido de 6 a 2 por lo que ahora la 
tabla de denominaciones empie- 
za en la dirección 800 hex de la 
VRAM o memoria de vídeo. 

El registro 3 no se usa en este 
modo de pantalla. En el capítulo 
anterior dedicado a la pantalla de 
alta resolución, vimos como este 
registro contenía la dirección don- 
de empezaba la tabla de color 
que, más adelante veremos por 
que, no se usa en este modo de 
pantalla. 

Los registros 4, 5 y 6 no han va- 
riado su contenido, lo cual indica 
que las tablas de sprites y la de 
generación de patrones no han 
variado su dirección de comienzo. 

Los sprites y sus tablas ya los vi- 
mos en el capítulo anterior dedica- 



do al modo de alta resolución. En 
la pantalla de baja resolución lo 
referente a sprites es idéntico a lo 
visto en dicho capítulo, por lo que 
aquí sólo apuntaremos el hecho 
de las grandes posibilidades que 
ofrece el poder manejar sprites de 
alta resolución en esta pantalla de 
baja resolución. 

La tabla de generación 
de patrones 

En este modo de pantalla la ta- 
bla de generación de patrones 
empieza, al igual que en este mo- 
do 1 , en la dirección 0 de la VRAM 
o memoria de vídeo, pero su ta- 
maño ha disminuido enormemen- 
te ya que ha pasado de ocupar 6 
kbytes a ocupar 1,5 Kbytes de 
VRAM, (comparar mapas de 
VRAM del artículo del mes pasado 
y de éste). 

Al comienzo del artículo hemos 
empezado a hablar de los macro- 
puntos, vamos a ver qué relación 
tienen con la tabla de patrones. 

Un macropunto siempre coinci- 
dirá con la cuarta parte de una ca- 
silla de la pantalla, por lo que cada 
una de ellas estará formada de 
cuatro macropuntos. 

En la tabla de patrones se alma- 
cena el color que tiene cada uno 
de estos macropuntos que com- 
ponen la pantalla de baja resolu- 
ción. Esta es la razón por la que en 
este modo de pantalla no hace fal- 
ta tabla de color. 



52 MSX 





En nuestro ordenador los códi- 
gos de colores están comprendi- 
dos entre 0 y 1 5, que son números 
factibles de representar con un 
grupo de cuatro bits o cuarteto. 

Cada octeto de la tabla de pa- 
trones que estamos viendo contie- 
ne en cada una de sus mitades un 
número entre 0 y 1 5 que indica el 
color de un macropunto de la pan- 
talla. 

Así tenemos que en cada octeto 
de la tabla de generación de pa- 
trones estará contenido el color de 
dos macropuntos de la pantalla, 
que serán la mitad superior o la 
mitad inferior de una casilla de la 
misma. Es evidente que para defi- 
nir una casilla en baja resolución 
harán falta dos octetos de la tabla 
de patrones. 

Al igual que en la pantalla de al- 
ta resolución, no cualquier defini- 
ción patrón de la tabla de patrones 
puede aparecer en una determi- 
nada posición de la pantalla, sino 
que depende de la fila en la que se 
encuentre dicha posición. 

En alta resolución vimos como 
la pantalla se dividía en tres tercios 
y a cada tercio se la asignaba una 
parte de la tabla de patrones. Algo 
parecido ocurre en baja resolu- 
ción, pero la forma de dividir la 
pantalla se efectúa de forma dife- 
rente. 

Ahora en lugar de tres hay cua- 
tro zonas, y las filas de pantalla 
que componen dichas zonas 
aparecen entremezcladas. 

La primera zona está formada 
por las filas 0, 4, 8, 12, 16 y 20; la 
segunda por las filas 1 , 5, 9, 1 3, 1 7 
y 21, la tercera por la 2, 6, 10, 14, 

1 8 y 22; la cuarta por la 3, 7, 1 1 , 1 5, 

19 y 23. 

Los octetos que en la tabla de 
patrones corresponden a cada zo- 
na también aparecen entremez- 
clados de la siguiente manera: 

Los dos primeros octetos de la 



MSX 53 



SVI 318/328 



tabla definirán los colores de la ca- 
silla de la primera zona cuyo octe- 
to correspondiente de la tabla de 
denominaciones contega un 0, o 
podríamos decir también que defi- 
nen el patrón 0 de la primera zona; 
los dos siguientes octetos defini- 
rán el patrón 0 de la segunda zona 
en que hemos dividido la pantalla, 
los dos siguientes el patrón 0 de la 
tercera y los dos restantes octetos 
del primer grupo de ocho defini- 
rán el patrón 0 de la cuarta zona. A 
continuación viene otro grupo de 
ocho octetos que contiene el pa- 
trón 1 de todas las zonas, el grupo 
de octio octetos siguientes contie- 
ne los patrones 2, y así hasta el pa- 
trón 191. 

Para darnos cuenta mejor de to- 
do esto vamos a enviar unos valo- 
res a la tabla de patrones y voso- 
tros mismos podréis apreciar los 
resultados. 

10 SCREEN2 

2Q FOR R*0TO8th3FF r VPOKEfl > fl\6 
30 FOR B»0TO50 » NEXT * NEXT 
40 GOTQ40 

La tabla de 
denominaciones 

La tabla de denominaciones en 
el modo 2 de pantalla tiene el mis- 
mo tamaño y distribución que en 
el modo 1 , esto es normal ya que, 
al igual que en dicho modo, hay 
un octeto por cada una de las ca- 
sillas de pantalla, y hay 32*24 casi- 
llas. 

En este modo la tabla de deno- 
minaciones comienza en la direc- 
ción 800 hex a diferencia del mo- 
do 1 en el que empezaba en la di- 
rección 1800 hex. 

Como hemos dicho antes, la co- 
rrespondencia con la pantalla en 
el orden de situación de cada oc- 
teto en la tabla, es idéntica a la del 
modo 1 , así a la primera casilla de 
la pantalla le corresponde el pri- 
mer octeto de la tabla, a la segun- 
da el segundo, etc. 



Más claro lo veréis si probáis el 
siguiente ejemplo que introduce 
unos valores en los patrones ini- 
ciales de las primeras casillas de 
'a pantalla y a continuación los re- 
pite en toda ella. 

10 SCREEN 2 

20 FÜRñ=0TO7 i VPOKEfl > fl : NEXT 
30 FÜRA=&H8O0TO&HAFF ■ VPOKEfl, 0 
40 FORB=9TO50 i NEXT i NEXT 
5ü GOTÜ50 

Si os fijáis en el ejemplo podréis 
apreciar que la pantalla aparece 
dividida en seis grandes franjas. 
Esto es así porque, como ya he- 
mos visto al hablar de la tabla de 
patrones, dependiendo de la. fila 
de pantalla que tratemos, el conte- 
nido de los octetos de la tabla de 
denominaciones se referirá a un 
patrón contenido en una u otra de 
las zonas de la tabla de patrones. 



Además y como ya señalába- 
mos antes, la definición completa 
de una casilla de pantalla se reali- 
za mediante dos octetos de la ta- 
bla de patrones. 

Por lo tanto, un octeto de la tabla 
de denominaciones señalará que 
dos octetos de la tabla de patrones 
definirán lo que ha de aparecer en 
la casilla correspondiente de la 
pantalla. 

Para saber en que dirección de 
la VRAM se encuentran los dos 
octetos de la tabla de patrones co- 
rrespondientes a una casilla de la 
pantalla a partir de la fila en que se 
encuentra y del número contenido 
en el octeto de la tabla de denomi- 
naciones correspondientes, se ha 
de aplicar la fórmula siguiente: 

DIRECCION = Número de de- 



DISTRIBUCION DE LA VRftM EN EL MODO 2 


DIR. HEX. 


1 CONTENIDO 


0O00- 5FF 


1 /TABLA DE GENERACION DE PATRONES 

' > ' > * // t é i * i $ j j f 4 » t 9 $ t é * 1 ) i 

— A cada casilla de la Pantalla le corresponden 
dos octetos^ el P riflero Para la mitad superior 
y el se9undo Para la inferior. 

Bits O a 3 — color del cuarto derecho 
Bits 4 a 7 — color del cuarto izquierdo 


600- 7FF 


NO UTILIZADO 


800- RFF 


/TABLA DE DENOMINACIONES 

/ * t * t * > * t * l j / : * J í / f. i t á 

— El 'numero contenido en cada octeto ha de 
estar comprendido entre 0 y 191. 
Di rece iones Patrón señaladas = 
número contenido * 8 * (fila de Pantalla en 
que esta Í10D 4 ) *2 y la si9uiente 


B00-lflFF! NO UTILIZADO 


1B00 

ÍB7F 


/TABLA DE ATRIBUTOS DE SRRITES 

t * t t t » t t t J / t / i 9 » t t t f t * t * t 

Cuatro bates Por cada, uno de los 32 Planos. 
2 de coordenadas. 1 de t amafio y 1 de color. 


1B80-37FF 


NO UTILIZADO 


3800 
3FFF 


/TABLA DE GENERACION DE PATRONES DE SRRITES 

Se Pueden representar 256 fi9uras de 
8*3 Pixels o 64 fisuras de 16*16 Pixels 



54 MSX 



itd klm Dibujo de la fisura inicial tn PuyitutlA 

20 COLORI, 15, 1 > SCREEN 2 

30 LINEC 112,32)-.: 132j80)j 14, BF 

40 LINE( 108,44)-: 120,68), 13, BF 

50 PSETÍ 108, 24), 2 

60 DRRW " 1 4d4r 1 6c 1 3r 4u 4 1 4bd64br 4 1 4u.4r8c2r 1 2d4 1 4 " 

70 VP0KE394 , &H83 i VP0KE395 , *<H83 

89 VP0KE6 1 7 , &H8D ' VP0KE6 1 8 , &H88 

30 VPÜKE367, " VP0KE365, ÍS<H9D 
1 m VPÜKE372 , Í,H2F i VPÜKE373 , &H4B 
1 1 0 VP0KE374 , &H33 " VP0KE375 , &HB4 

120 VP0KE624,^HF2 

1 30 VPOKE370 , &HEC ■ VP0KE626 , kHEC 

650 GOTO650 



nominaciones * 8 + (fila MOD 4) * 
2. 

Si queréis partir directamente 
de la posición de pantalla debéis 



sustituir el número de denomina- 
ciones de la fórmula anterior como 
sigue: 

Número de denominación = 



149 
150 
160 
170 
180 
190 

200 

210 
220 
230 
240 
250 
260 
270 
230 
290 

300 

310 

320 
330 
340 
350 
360 
370 
380 
390 

400 

410 
420 
430 
440 
450 
460 
470 
480 



REM Pasa fi9ura a dirección 3O0O h*X 
FÜRñ=0TQ&H5FF i VPÜKEH+&H3000, VPEEKC fl ) i 
REM Cambio de la f i9ura inicial 
'VPÜKEllliSiHFF 
■ VP0KE646,2<H22 
' VPÜKE654,8<HFF 
: VP0KE395,&HFF 
' VPÜKE613,&HFF 
1 VP0KE365, &HfiD 
>VPÜKE373,&H3F 
«VP0KE375,a,HF3 



de la VRflM 
NEXT 



VPOKE110^&HFF' 
VP0KEÍ18iS«H22< 
VFtKE653/&HFF< 
VPOKE394,8 í HFF¡ 
VPÜKE617,:¿HFD' 
VP0KE367,^HñC" 
VP0KE372,?¿H42' 
VPOKE374i8tHBB< 
VP0KE624*8«H24 

REM Pasa nueva fi9ura a la dirección 
FORfl=0TO8.H5FF ■ VPÜKEfl+&H2000, VPEEKX R ) 



2000 

NEXT 



REM Cambia de nuevo la fi9u.ra anterior 
VPÜKE 118, &HFF > VPOKE 119, &HFF 
VPOKE 1 34 , &H22 ' VPÜKE 1 35 , &H22 
VPOKE 6 45, &HFF i VP0KE646, &HFF 
VPÜKE629, 8eH22 ' VPÜKE630, fcH22 
VPÜKE367, ' VP0KE365, &H90 
VPGKE372, &H34 ' VP0KE373, &HB2 
VPÜKE374, &HFF • VPQKE375, &H2B 
VPÜKE624,&H43 

REM Pasa la nueva fiQu.ra a la dirección 1000 

FORfi«0TO8*H5FF 1 VPOKEfl+&Hl000> VPEEKX fl > > NEXT 

REM Se cambia Por última vez la figura 

VPÜKE 1 34, &HFF : VPOKE630/íiHFF 

VPÜKE 1 42 , 8.H22 1 VPÜKE 143, 8,H22 

VPÜKE 621 , M422 i VPÜKE622, &H22 

VPÜKE362, 81H88 ' VPÜKE363, 2<H8D 

VPÜKE649, &H83 ' VPÜKE650, &H8S 

VPÜKE367, &HflD 1 VPÜKE365, &HflD 

VPÜKE372, 8.HB3 ' VP0KE373, &HF4 

VPÜKE374 , 8.H22 ' VPÜKE375 , &H4F 

VPÜKE624,&H38 



hex 



VPEEK (&H800 + 32 * número de 
fila -1- número de columna). 

Los patrones de la casilla esta- 
rán contenidos en la dirección ha- 
llada y en la siguiente. 

Algunas observaciones 
sobre el VDP 

A lo largo de estos cuatro capí- 
tulos hemos ido viendo como el 
procesador de vídeo TMS 9918 A 
manejaba la imagen en cada uno 
de los tres modos de pantalla. 

Vamos a ver ahora alguna ca- 
racterística que podemos sobre- 
saltar del mismo. 

En el registro 1 hemos visto que 
el bit 6 habilita y deshabilita la 
pantalla, lo cual nos permite reali- 
zar un dibujo con la pantalla des- 
habitada con lo que no se verá 
mientras se está efectuando, para 
luego habilitar la pantalla con lo 
que el dibujo efectuado aparece 
de golpe en la misma. 

Si os fijáis en los diferentes ma- 
pas de la memoria de vídeo a lo 
largo de estos capítulos notaréis 
que hay espacios vacíos en la 
asignación inicial que el sistema 
operativo hace de la misma. 

Esto nos permite por ejemplo en 
el modo 0 introducir seis juegos 
más de caracteres además del ini- 
cial como ya vimos en un capítulo 
anterior. 

En el modo 1 de pantalla el es- 
pacio no usado es muy pequeño 
ya que este es el modo de pantalla 
que mejor aprovecha la memoria 
de vídeo. No obstante, si quisiéra- 
mos crear más espacio libre en 
este modo en la memoria de vídeo 
podríamos usar el truco de asig- 
nar a varias de las casillas de la 
pantalla un patrón de la tabla de 
patrones común a todas ellas, me- 



MSX 55 



SVI 318/328 



620 


REM Se conmutan inici 


os de la. tabla de Patrones 


630 


fí=Q-B=2 D=l C=l 


640 


ONINTERVñL=10GÜSUB66O ¡ 


INTEPVRLGN 


660 


2=INPC &H35 > QtfT&HSI , fi 




670 


t3UTW8l/<40RícH38) 




680 


fl=fl+C*2 : C=C-2*< R=Ü ;+2t 


< R=6 3 


719 


RETURN 





diante la alteración del contenido 
de los octetos de la tabla de patro- 
nes. 

En el modo 2 de pantalla la tabla 
de patrones es cuatro veces 



mayor que en el modo 1 y además 
no hay tabla de color por lo que los 
espacios libres en la misma son 
mayores que los espacios ocupa- 
dos. 

Esto nos da la posibilidad de te- 



ner definidas en la memoria vanas 
tablas de patrones o de denomi- 
naciones tanto de las figuras que 
aparecen en el plano 32 como de 
los sprites. 



Esta característica se puede 
aprovechar para crear en BASIC 
figuras animadas, incluso panta- 
llas animadas con una velocidad 
de animación propia del código 
máquina ya que para, por ejem- 



plo, cambiar toda la pantalla basta 
con enviar un nuevo código a un 
determinado registro del genera- 
dor de vídeo. 

Vamos a ver esta posibilidad 
aplicada al modo 2 mediante un 
ejemplo. 

PROGRAMA 3 

Desfile de la división robotizada 
(Programa comentado) 

Primeramente dibujamos en la 
pantalla de baja resolución una fi- 
gura que representa a un robot 
visto desde arriba, o sea en planta, 
utilizando el lenguaje de gráficos 
de nuestro ordenador y unos PO- 
KES a direcciones de la VRAM, se- 
gún conveniencias. 

Tras teclear estas líneas nos 
aparece en la pantalla nuestra fi- 
gura inicial que vamos a intentar 
animar mediante la conmutación 
de diferentes bancos de la memo- 
ria de vídeo, para lo cual creare- 
mos cuatro figuras con las cuatro 
fases de un movimiento y cada 
una de ellas la meteremos en una 
tabla de patrones en las localiza- 
ciones de la VRAM 3000 hex, 
2000 hex, 1000 hex y 0000 hex. 

Para ello incluimos en el progra- 
ma anterior las siguientes líneas.^ 

Y la última figura resultante sé 
queda almacenada en el bloque 
que comienza en la dirección 0 
hex. 

Como hemos ido señalando en 
el programa, las líneas 150, 270 y 
380 se encargan de ir almacenan- 
do las figuras creadas en sus res- 
pectivos lugares de almacena- 
miento. 

La línea encargada de hacerlo 
copia íntegramente el contenido 
de la tabla de generación de pa- 
trones en una nueva tabla, de esta 
forma cualquier patrón definido 
inicialmente se copiará en una se- 
gunda dirección. 



533 REM Crea 7 nuevas tablas de nombres 

549 FÜRB=0TO31 < VPOKEWC00* 32*R+B, 

VPEEKX &H800+32*fl+< B+l >*-< B<31 ) > ■ NEXT 

550 FORB=0TÜ31 ■ VPOKE*,H1800+32*R+B, 

VPEEKX &HC00+3Z*R+< B+l >*-< B<31 > ) ' NEXT 
560 FÜRB=0TÜ31 » VPOKEUUC00+3fc*fl+B¿ 

VPEEK< &H1800+32*R+< B+l )*-< B<31 )) 1 NEXT 
570 FÜRB=0TÜ31 - VPÜKE&H2300+32*R+B, 

VPEEKX 8*HlC0$+32*fl+< B+l >*-< B<31 ) ) ' NEXT 
580 FÜRB=0TÜ31 ' VPOKE&H2Ü00+32*R+B, 

VPEEKX 6«H2800+32*R+< B+l >*-< B<31) ) 1 NEXT 
590 FORB=0TQ31 ' VPQKE&H3800+32*R+B, 

VPEEKX &H2C08+32*fl+< B+l >*-< B<31 ) ) « NEXT 
600 FÜRB=0TO31 " VPOKE&H3C00+32*R+B, 

VPEEKC &H3800+32*fl+< B+l )*-( B<31 > > « NEXT 
685 REM Se conmutan inicios de tabla de denominaciones 
630 ÜUT&H8 1 1 B i 0UT8.H8 1 , C 2ÜR&H80 > 
700 B=-< B+D >*< B< 15 >-2*< B>*15 > " D*DX0R2 
710 RETURN 



490 REM RePite fiQur* en toda la Pantalla 

•=;00 FORfl«0TO383 1 VPQKE$tH800+384+fl » VPEEK*' &H80O+R ) 1 NEXT 

5 1 0 FÜRR«=0TÜ23 • VPQKEfcN800+32#fl , VPEEKX ?*H800+32*R+ 1 6 ) 

513 VPnKE&H800+32*R+l > VPEEKX &H800+32*R+17 ) 

516 VPOKE.'iH800+32*R+29, VPEEKX &H800+32*R+13 ) 

520 VPQKE&H800+32*R+30 > VPEEK< &HS00+32&R+ 1 4 ; 

525 VPÜK:Eí¿H800+32*R+3 1 , VPEEKX &H800+32*R+ 1 5 ) 

FriRB=0TÜ4 « VPOKE&H800+32*R+B+5 , VPEEKC &H800+32*R+B+ 1 3 > 
535 VPÜKE&H800+32*R+B+2 1 , VPEEKC &H800+32*R+B+ 1 3 > « NEXT 
610 NEXT 



56 MSX 



El proceso de traslado de las fi- 
guras entre las direcciones es un 
poco lento ya que son muchas pe- 
ro lo interesante viene a la hora de 
ejecutar los movimientos como 
veremos a continuación, ya que lo 
único que tenemos que hacer una 
vez cada figura esté en su lugar es 
alterar el valor del registro 4. 

Así podremos conmutar alter- 
nativamente las direcciones don- 
de se encuentran los distintos pa- 
trones que definen las figuras con 
lo que lograremos un efecto de 
movimiento de la misma, median- 
te la introducción de las siguientes 
líneas, que se añaden a las ante- 
riores. 

Tras añadir estas líneas a las 
anteriormente introducidas y tras 
arrancar el programa con "RUN"y 
esperar un momento a que se car- 



guen las figuras en su sitio com- 
probaréis que la figura cobra mo- 
vimiento. 

Para variar su velocidad podéis 
variar en la línea 640 el número 
que está detrás del signo "=". Co- 
locando un 1 se consigue la máxi- 
ma velocidad que es bastante 
aceptable, y si no probar a hacerlo 
por el método de dibujar las figu- 
ras una a continuación de otra me- 
diante la supresión de algunas 
líneas del programa y un "GOTO" 
en el lugar conveniente. 

Ahora vamos a repetir la figura 
en toda la pantalla mediante la in- 
troducción en el lugar correspon- 
diente de la tabla de nombres de 
los valores que indiquen el patrón 
diseñado. 

Si ahora pulsas "RUN" y "EN- 
TE R" verá que tras un momento de 



espera la figura se repite en toda la 
pantalla y a continuación se pro- 
duce el movimiento de todas las fi- 
guras con la misma velocidad que 
lo hacía una sola de ellas. 

Finalmente, vamos a hacer que 
las figuras ademas de cambiar 
de forma, se trasladen por la pan- 
talla. Para ello vamos a crear siete 
nuevas tablas de denominaciones 
en la VRAM, que junto con la inicial 
formarán ocho diferentes grupos 
de denominación de las diferentes 
casillas de la pantalla, y a conti- 
nuación además de variar el con- 
tenido del registro 4 variaremos 
también el registro 2 con lo que al- 
teraremos el comienzo de la tabla 
de nombres. 

Esta vez al teclear "RUN" la es- 
pera será un poco más larga pero 
el resultado vale la pena. 
Venerando Solís 




ESTAREMOS 
EN EL SIMO 86 

Del 14 al 21 de Noviembre 



En nuestros Stands E14 (Pabellón XII) y D-172 (Pabellón XI) 



Biblioteca 




Muchos de vosotros estaréis in- 
teresados en que algunos de los 
programas que se publican en 
MSX Magazine no sean una mera 
lista de sentencias, sino que estén 
suficientemente comentados. 
Pues bien, en estas páginas os va- 
mos a contar cómo utilizar el pro- 
grama que se lista junto a ellas y 
qué funciones realiza cada bloque 
del mismo. 

El programa os permite almace- 
nar una serie de fichas que con- 
tendrán los datos principales de 
los libros de vuestra biblioteca: 
título, autor, editorial y fecha de 

edición. Permite también que in- 
cluyáis en la ficha un breve co- 
mentario o notas. Los datos se al- 
macenan en cinta, pero podéis al- 
terar las rutinas correspondientes 
para utilizar la unidad de disco si 
disponéis de ella. 

Se admite un bloque máximo 
de 200 fichas, lo que os permitirá 
disponer de unos 75 carácteres 
por ficha, por término medio. (Nor- 
malmente utilizaréis más de 70 
carácteres por ficha, lo que reduci- 
rá el número de fichas disponibles). 
Si disponéis de una biblioteca 
más o menos amplia, os aconse- 
jamos que abráis un fichero por 
cada tipo de libros, por ejemplo: 
poesía, novela, ciencias, etc. (Si te- 
néis unidad de disco, la única limi- 
tación es la capacidad del disco). 

Una vez cargado el programa y 
pulsada la tecla «run», aparecen 
las siguientes opciones en la pan- 
talla. Todas ellas se activan pul- 
sando una de las teclas de función 
(F1 a F8): 

F1: Altas y Bajas. 

F2: Listar Archivo. 

F3: Grabar Archivo. 

F4: Recuperar Archivo (de cin- 
ta). 



LOS JUEGOS ELECTRONICOS 



58 MSX 



PREMIO DE 7000 PTS 



F6: Accionar al Motor. 

F7: Volver al menú principal. 

F8: Finalizar (Interrumpir). 

Vamos a comentar cada una de 
las opciones: 

F1 : ALTAS Y BAJAS. Pulsando 
F1 podéis almacenar nuevas fi- 
chas en el ordenador o bien elimi- 
narlas. 

Una vez pulsado F 1 , aparece en 
pantalla una nueva opción: 

«A»: Pulsando la tecla A se abre 
una nueva ficha y podéis dar de 
alta un libro. El programa os pedirá 
entonces que le deis el título, des- 
pués el autor, a continuación la 
editorial y por fin os permite hacer 
un comentario. 

Por cada uno de estos concep- 
tos se admite un máximo de 78 
caracteres (dos líneas de panta- 
lla). Para pasar al concepto si- 
guiente, simplemente pulsar RE- 
TURN. 

Observad que sólo se permite el 
uso de letras mayúsculas, los ca- 
racteres numéricos y algunos sig- 
nos de puntuación. Esto se hace 
para una mayor facilidad de orde- 
nación de las fichas y para mayor 
claridad de presentación. Por otra 
parte, las teclas del cursor son la 
tecla RETURN y la tecla BS (Back 
Step) que os permite retroceder 
en la línea que estáis editando si 
habéis cometido algún error. 

Una vez hayáis introducido to- 
dos los datos, aparecerá en panta- 
lla la ficha completa que acabáis 
de introducir. Para salir de aquí 
pulsar cualquier tecla y el ordena- 
dor volverá a pediros que pulséis 
«A» para altas, y «B» para bajas. 

«B»: Al pulsar B podéis dar de 
baja una ficha, es decir, eliminarla. 
Entonces el ordenador os pedirá 
el número de la ficha que queréis 
eliminar. Una vez hayáis introduci- 
do el número, os preguntará si es- 



táis seguros; si pulsáis «S» os pre- 
guntará si queréis que reordene el 
archivo (en el orden numérico); si 
volvéis a pulsar «S» lo hará así y si 
pulsáis «N» borrará la ficha, pero 
dejará el número libre (podréis 
volver a utilizarlo con la opción de 
modificación). En este caso, el res- 
to de las fichas seguirán teniendo 
el número que tenían al principio. 
(Esto es útil, por ejemplo, si habéis 
colocado etiquetas a los libros con 
los números que les correspon- 
den). 

Para salir del modo F1 : Altas y 
Bajas, podéis pulsar F7 para vol- 
ver al menú principal o cualquiera 
de las teclas de función para reali- 
zar la operación correspondiente. 
Por ejemplo, si pulsáis F2 podéis 
listar el archivo y si pulsáis F3, gra- 
barlo. 

F2: LISTAR ARCHIVO. Esta es 
la opción que os permite realizar 
más cosas. Al pulsar F2 aparece 
en pantalla un segundo menú: 

F1: Por orden alfabético. 

F2: Alfabético, por títulos. 

F3: Alfabético, por autores. 

F4: Seleccionar ficha. 

F5: Modificar ficha. 
F6 y F8 quedan iguales que en el 
menú principal. 

En cualquiera de las opciones 
F1, F2, F3 se lista el archivo com- 
pleto; en el primer caso (F1 ) en or- 
den numérico, en el segundo en 
orden alfabético por títulos y en el 
tercero en orden alfabético por au- 
tores. En todos los casos aparece 
una página con las primeras 20 fi- 
chas de la ordenación. Para pasar 
de página (avanzando o retroce- 
diendo) utilizar las teclas del cur- 
sor. (Cursor arriba y cursor abajo). 
Estando en una de estas tres op- 
ciones se puede pasar a otra de 
ellas sin más que pulsar la tecla de 
función correspondiente. Además 
si pulsáis F4 podéis seleccionar 



una ficha simplemente dando el 
número. En este caso aparecerá 
en la pantalla dando el número. En 
este caso aparecerá en la pantalla 
la ficha completa. Si en lugar de F4 
pulsáis F5, también selecciona- 
mos una ficha, pero ahora podéis 
modificarla. El ordenador os pre- 
guntará qué es lo que deseáis mo- 
dificar y posteriormente os permiti- 
rá hacerlo. Si habéis pulsado F5 
por error, pulsar RETURN y no ha- 
brá modificaciones. 

Estando en las opciones F4 y F5 
podéis volver a listar el archivo 
pulsando F1 , F2 o F3 según os in- 
terese. 

Para volver al menú principal, 
como ya hemos indicado, basta 
pulsar F7. 

F3: GRABAR ARCHIVO. Una 

vez hayáis terminado de dar de al- 
ta o baja las fichas correspondien- 
tes, os interesa grabar en cinta 
magnética el archivo completo. 
Para ello debéis pulsar F3. El pro- 
grama empieza poniendo todas 
las fichas en orden numérico. A 
continuación os preguntará si de- 
seáis introducir información. Si 
pulsáis «SI», esperará hasta que le 
deis dicha información (por ejem- 
plo el tipo de libros de que se trata 
y la fecha) y pulséis «RETURN». 
Entonces se grabará el archivo 
completo en orden numérico. 

Una vez terminada la grabación, 
el programa os pide que rebobi- 
néis la cinta hasta el principio del 
archivo para comprobar que ha si- 
do grabado correctamente. Si no 
ha sido así, os lo indicará con un 
mensaje y volverá a disponerse 
para grabar. Si la comprobación 
es correcta, vuelve al menú princi- 
pal. 

F4: RECUPERAR ARCHIVO. 

Cuando queráis tomar un archivo 
que está guardado en cinta, pul- 
sad F4 a partir del menú principal. 



De forma análoga a lo que ocurría 
con F3, el programa os preguntará 
si queréis información. Si pulsáis 
SI, tomará la información de la cin- 
ta y la presentará en pantalla. 

Cuando se ha terminado de re- 
cuperar todo el archivo, el progra- 
ma vuelve al menú principal y está 
listo para realizar cualquier opera- 
ción: nuevas altas, modificacio- 
nes, etc. 

Tanto en las opciones del menú 
principal como en las del menú de 
listado del archivo pueden reali- 
zarse tres interrupciones pulsan- 
do las teclas F6, F7 y F8: 

F6: MOTOR. Acciona el motor 
de la grabadora, activándolo o de- 
sactivándolo según el estado en 
que esté. 

F7: MENU. Pulsando F7 en 
cualquier momento, el programa 
se transfiere al menú principal. 

F8: FIN. Al terminar de utilizar el 
programa, podéis teclear CTRL 
STOP o bien la tecla F8. En ambos 
casos el programa se interrumpe, 
la pantalla se limpia y se restable- 
cen las teclas de función. También 
se restablece la tecla CAPS LOCK 
(mayúsculas) de forma que pue- 
den escribirse minúsculas. (Como 
podréis observar, pulsar CAPS 
LOCK durante la ejecución del 
programa no sirve para nada: 
siempre está en mayúsculas). 

Comentemos ahora, en gran- 
des rasgos, lo que hace cada blo- 
que del programa. 

En la línea 60 se reserva memo- 
ria para las variables alfanuménca 
y para las rutinas en código má- 
quina. 

Las líneas 90 y 100 definen va- 
riables enteras (I, J, K) y alfanumé- 
ricas (A). 

Entre las líneas 1 1 0 y 1 50 se al- 
macena en memoria el DATA de 
la línea 3470. La rutina en C/M así 
definida se define en la línea 1 60 y 



sirve para encender la luz de la te- 
cla «CAPS LOCK». También se de- 
fine (línea 170) una rutina del sis- 
tema que servirá para restablecer 
las teclas de función al interrumpir 
el programa. 

Entre las líneas 1 80 y 230 se d¡- 
mensiona la variable A que con- 
tendrá las fichas de la biblioteca; 
se define la variable AE que con- 
tiene los carácteres que se van a 
admitir y los encabezamientos 
(variable AC) que aparecerán en 
la pantalla a la entrada de datos o 
presentación de ficha. 

En la línea 240 se activa la luz de 
la tecla «CAPS LOCK», y mediante 
el POKE de la línea 250 se hace 
que sólo se admitan letras mayús- 
culas. Las líneas siguientes son bi- 
furcaciones en caso de que se 
produzca STOP o ERROR. 

A partir de la línea 330 y hasta la 
línea 560, se tiene el bloque co- 
rrespondiente al menú principal. 
Cabe sólo señalar que con la línea 
450 se escribe el mensaje "AR- 
CHIVO COMPLETO" si se sobre- 
pasa la dimensión de A o el espa- 
cio de memoria asignado a varia- 
bles alfanuméricas. Si se pulsa 
una tecla que no sea de función, 
aparece el mensaje de la línea 
510. En la línea 340 se llama a la 
subrutina (3240) que escribe en 
las teclas de función las operacio- 
nes que permiten realizar (con el 
DATA de la línea 3480). 

Entre las líneas 6 1 0 y 1 070 está 
el subprograma que permite dar 
fichas de alta y de baja. En el caso 
de altas, se llama a la subrutina de 
entradas (línea 3050 a 3 1 90). Esta 
subrutina sólo admite los carácte- 
res definidos en la variable AE 
(INSTR de la linea 3080). Sólo ad- 
mite los códigos de control 1 3 (RE- 
TURN) para terminar la línea ac- 
tual, y 8 (BACK STEP) que borra el 
carácter anterior, para corregir. En 



este caso se hace que la variable 
A que almacena la línea actual 
(líneas 3050 y 3 1 50), pierda el últi- 
mo carácter (línea 3120) y, lógica- 
mente, se borra el último carácter 
en la pantalla (línea 3110). Si la 
longitud de A llega a ser 78 (línea 
3140) solóse admiten los códigos 
8 y 13. 

Una vez se ha dado de alta la fi- 
cha completa, ésta se escribe en 
la pantalla mediante la subrutina 
de escritura de ficha (líneas 2640 
a 2780) a la que se llama en la 
línea 750. 

Cuando se da de baja una ficha, 
se muestra en la pantalla la ficha 
correspondiente. El programa 
permite (líneas 960 a 1060), elimi- 
narla, reordenando el resto de las 
fichas. 

Las rutinas principales para el 
listado están entre las líneas 1 120 
y 1840. Las líneas 1120 y 1340 
presentan un menú similar al prin- 
cipal. Si se quiere un listado por 
orden numérico se ejecutan las 
líneas 1390 a 1420, si es por or- 
den alfabético por títulos, las líneas 
1430 a 1460, y si es por autores, 
las líneas 1470 a 1490. En todos 
los casos, si la variable IL no está 
activada, se realiza una ordena- 
ción de las fichas con la ordena- 
ción SHELL-METZER (líneas 1520 
a 1670). El bloque comprendido 
entre las líneas 1 7 1 0 y 1 840 se en- 
carga de hacer aparecer en la 
pantalla la página actual. Cada 
página tiene 20 líneas (variable Jl). 
Sólo se admiten los códigos 30 y 
31 (cursor) para pasar de página 
hacia delante o hacia atrás. Sólo 
se puede salir de este bloque pul- 
sando una tecla de función. 

Las líneas 1890 a 2310 permi- 
ten grabar el archivo. Primero se 
activa una bandera (variable AG 
en línea 1890) que permite orde- 
nar el archivo en orden numérico 



LOS JUEGOS ELECTRONICOS 



60 MSX 



si no lo está ya (llamando a la su- 
brutina de ordenación, línea 
1400). Posteriormente se procede 
a la grabación sin más. Al final de 
la grabación se efectúa una com- 
probación de que ésta es correcta 
(líneas 2100 a 2310). Si no lo es, 
aparece un mensaje (líneas 2260 
a 2310) y vuelve a la línea 1890 
para volver a grabar. En caso con- 
trario, se vuelve al menú principal 
(línea 2250). 

La rutina de recuperación 
(líneas 2360 a 2530) es similar a la 
de grabación, con la única dife- 
rencia de que no se realiza la 
comprobación que se hacía allí. 

Entre las líneas 2640 y 2780 es- 
tá la rutina que permite presentar 
una ficha en pantalla. Como el ar- 
chivo puede estar ordenado alfa- 
béticamente, las líneas 2690 y 



2700 se encargan de buscar que 
la ficha presentada tenga el núme- 
ro (A(I.O)) que se desea. Si se lla- 
ma a esta rutina pulsando F4 des- 
de el menú 2, sólo se puede salir 
de ella pulsando otra tecla de fun- 
ción. Los subprogramas corres- 
pondientes a altas y bajas y a mo- 
dificaciones llaman a esta rutina. 

La rutina de modificaciones co- 
rresponde a las lineas 2830 a 
3000 y llama en primer lugar a la 
rutina de presentación de ficha 
(linea 2850). La variable AM de la 
línea 2880 contendrá las iniciales 
(TAEC) de los parámetros que se 
desea modificar. Esta variable se 
comprueba en 2940 y por medio 
de las líneas 2960 a 2980 se per- 
mite su modificación. (En 2970 se 
llama a la rutina de entrada de da- 
tos). 



Entre las líneas 3360 y 34 1 0 es- 
tán las sentencias que se ejecuta- 
rán al provocar una interrupción 
del programa, pulsando «F8» o 
«CTRL STOP». Con la llamada de 
la línea 3360 se restablecen las te- 
clas de función tal y como estaban 
al conectar el ordenador. El POKE 
de la línea 3390 hace que poda- 
mos poner minúsculas al pulsar 
«CAPS LOCK». Si después de inte- 
rrumpir se pulsa COA/7" («F8»), el 
control del programa vuelve a la 
línea 240. 

En 3420 se chequea si el error 
producido es por desbordamien- 
to. La línea 3440 activa el motor (al 
pulsar «F6») y la línea 3460 vuelve 
al menú principal, al pulsar «F7». 



J. Antonio Feberero 



10 ' ARCHIVO DE LIBROS 

30 'Juan Antonio Feberero Castejón 
40 'Versión 11.301185 - 6003 bytes 
50 ' 

60 CLEAR 15000,59999! 
70 SCREEN 0, ,0 
80 WIDTH 39 
90 DEFINT I ,J,N 
100 DEFSTR A 
110 RESTORE 3470 
120 FOR 1=1 TO 6 
130 READ A 

140 POKE 59999' +1 ,VAL("&H"+A> 

150 NEXT I 

160 DEFUSR0=?/HEA60 

170 DEFUSR1=&H3E 

180 DIM A(200,4) 

190 AE=CHR*<8) +" 1234567890ABCDEFGH 

I JKLMNnOPQRSTUVWXYZ . , ; :'-=+\/ 
i 

200 AC<1)=" TITULO " 

210 AC(2)="AUT0R " 

220 AC<3)="EDIT/LUGAR/AnO. . 

230 AC(4)= M C0MENTARI0S " 

240 U=USR0<0> 

250 POKE &HFCAB,1 

260 ON STOP GOSUB 3360 



270 
280 
290 

300 

310 
320 
330 
340 
350 
360 
370 
380 
390 

400 

410 

420 

430 
440 



450 



460 



STOP ON 

ON ERROR GOTO 3420 
' MENU I 



CLS 

GOSUB 3240 
LOCATE 11,3 
PRINT "ARCHIVO DE 
PRINT STRING* (39,1 
LOCATE 8,6 
PRINT "Fl : ALTAS 
PRINT TAB (8) ;"F2 : 
IVO" 

PRINT TAB (8) ;"F3 : 
IVO" 

PRINT TAB (8) ;"F4 : 

RCHIVO" 
LOCATE ,15 
PRINT " Pulsar 

nción 1 a 10 

alizar las operac 
c or respond i en tes 
IF IN=200 OR ER*=1 

,21 :PRINT TAB (8) ; 

COMPLETO ! ! ! »' ?ER%* 
ON KEY GOSUB 610,1 



LIBROS" 
92) 



Y BAJAS" 
LISTAR ARCH 

r «¿clfi ARCH 

- RECUPERAR A 



teclas de fu 

para re 

iones 
ti 

THEN LOCA 
" i i i ARCHIVL 

0 

120,1890,236 



470 



480 
490 

500 

510 

520 
530 
540 
550 
560 
570 
580 
590 

600 

610 
620 
630 

640 

650 
660 
670 
680 
690 

700 

710 
720 
730 
740 
750 
760 
770 
780 
790 

800 

810 

820 
830 
840 
850 
860 
870 
880 

890 

900 

910 
920 
930 
940 
950 
960 
970 



0, ,3440,3460,3360 
KEY(l) 0N:KEY<2) 0N:KEY(3) ON : 
KEY (4) 0N:KEY(6) 0N:KEY(7) ON 
:KEY<8) ON 

IF INKEY*="" THEN 480 
BEEP 

LOCATE ,21 

PRINT M i ¡PULSAR SOLO TECLAS DE 

FUNCION! ! " 
FOR 1=1 TO 1000 
NEXT I 
LOCATE ,21 
PRINT SPACE*(33) 
GOTO 480 

4 

' ALTAS Y BAJAS 



CLS 

IF IN=200 THEN 330 

PRINT " < A >=ALTAS < B >=BA JAS 1 

Pulsa una tecla" 
W*=INKEY*:IF W$="" THEN 640 
IF W*<>"A" THEN 790 
CLS 

IN=IN+1 

A(IN,0)=STRÍ (IN) 

FOR 1=1 TO 4 

PRINT AC(I) ;"?" 

GOSUB 3050 

A<IN,I)=A 

NEXT I 

N=IN 



THEN 760 



THEN 640 

DEL LIBRO NUMERO 



GOSUB 2710 
IF INKE Y$=' 
CLS 

GOTO 610 

if m<>»%» 

CLS 

INPUT"BAJA 

" ;NF 
GOSUB 2690 
PRINT 
PRINT 

PRINT "¿DE ACUERDO. S/N^" 
W*=INPUT*<1) 
IF W$<>"S" THEN 610 
PRINT "¿Deseas reordenación 

mérica . . „S/N?" 
Wt=INPUTt- (1) 
IF W$="S" THEN 960 
IF W$<>"N" THEN 890 
FOR J=l TO 4 
A(N,J)="" 
NEXT J 
GOTO 610 
AG="GRAB" 
GOSUB 1410 



nu 



980 
990 

1000 
1010 
1020 
1030 
1040 
1050 
1060 
1070 
1080 
1090 
1 100 
1110 

1120 
1130 
1140 

1 150 
1 160 
1170 
1 180 

1 190 

1200 

1210 



FOR I=NF TO IN-1 
FOR J=l TO 4 
A(I ,J)=A<I+1 ,J) 
NEXT J 
NEXT I 
IN=IN-1 
IL=4 

GOSUB 1410 
AG=" " 
GOTO 610 

* MENU 2 



CLS 

GOSUB 3260 

LOCATE 11 ,3:PRINT"CLASIFICACI 
ON:" 

PRINT STRING* (39,192) 
LOCATE 8,6 

PRINT "Fl : NUMERICA" 



"F2 : ALFABETICA 



:"F3 



"F4 



'F5 



ALFABETICA 
SEELCCIONA 
MODIFICAR 



1230 



teclas de 
para 



1240 



1250 



1260 
1270 
1280 
1290 

1300 

1310 
1320 
1330 
1340 
1350 
1360 
1370 
1380 
1390 
1400 
1410 
1420 



PRINT TAB (8) 
-TITULOS" 
PRINT TAB (8) 
-AUTORES" 
PRINT TAB (8) 
R FICHA" 
PRINT TAB (8) 
FICHA" 
LOCATE ,15 
PRINT " Pulsar 
unción 1 a 10 
ealizar las operaciones 

correspondientes - " 
ON KEY GOSUB 1390,1430,1470,2 
640 ,2830 ,3440 ,3460 ,3360 
KEY(l) 0N:KEY(2) 0N:KEY(3) ON 
:KEY(4) 0N:KEY(5) 0N:KEY(6) 0 
N :KEY (7) 0N:KEY(8) ON 
IF I NKEY$= " " THEN 1260 
BEEP 

LOCATE ,21 

PRINT "¡¡PULSAR SOLO TECLAS D 
E FUNCION f ! " 
FOR 1=1 TO 1000 
NEXT I 
LOCATE ,21 
PRINT SPACE$<33) 
GOTO 1260 

'LISTADO 



ON 



KEY (1) 
CLS 

IF IL=0 THEN 
GOTO 1500 



1680 ELSE IL=0 



LOS JUECOS ELECTRONICOS 



62 MSX 



1430 
1440 
1450 
1460 
1470 
1480 
1490 

tÍ00 
1510 
1520 
1530 
1540 
1 550 
1560 
1570 
1580 
1590 



1600 

1610 
1620 
1630 
1640 
1650 
1660 
1670 
1680 
1690 

1700 

1710 
1720 
1730 
1740 

1750 
1760 
1770 

1780 
1790 

1800 

1810 

1820 
1830 
1840 
1850 
1860 
1870 
1880 
1890 

1900 

1910 
1920 
1930 



KEY (2) ON 
CLS 

IF IL=1 THEN 1680 ELSE IL=1 
GOTO 1500 
KEY (3) ON 
CLS 

IF IL=2 THEN 1680 ELSE IL=2 

KEY (4) STOP 

KEY (5) STOP 

JP=1N 

JP=JP\2 

IF JP<1 THEN 1680 
JN=1 

JK=IN-JP 

JM=JN 

JH=JM+JP 

IF IL=0 THEN IF VAL (A ( JM ,0) ) < 

=VAL<A<JH,0) ) THEN 1660 ELSE 
1610 

IF A<JM,ILX=A(_7H 1 IL) THEN 16 
60 

FOR 1=0 TO 4 

SWAP A(JM,I) ,A(JH,I) 

NEXT I 

JM=JM-.JP 

IF JM<1 THEN 1660 ELSE 1580 
JN=.JN+1 

IF JN>JK THEN 1530 ELSE 1570 
KEY (4) ON 
KEY (5) ON 

IF AG="GRAB" THEN RETURN 
Jl = l 

IF IL=0 THEN IM=1 ELSE IM=IL 
FOR J=l TO IN 

PRINT USING"### " ;VAL(A(J,0> ) 
5 

PRINT LEFT*(A(J,IM) ,30) 

IF J=IN THEN 1780 

IF JK20 THEN J 1 =J 1 + 1 : GOTO 18 

40 

W$=INKEY$:IF W$="" THEN 1780 

IF IN<=20 THEN 1780 

IF ASC(W*)=31 AND JKIN THEN 1 

830 

IF ASC(W$)=30 AND J>20 THEN 3 
=J-20-Jl :GOTO 1830 
GOTO 1780 
Jl=l :CLS 
NEXT J 

■ GRABACION 



1940 
1950 

1960 
1970 
1980 

1990 

2000 
2010 

2020 
2030 
2040 
2050 
2060 
2070 
2080 
2090 

2100 



2110 
2120 
2130 

2140 
2150 
2160 
2170 
2180 
2190 
2200 
2210 
2220 
2230 
2240 
2250 
2260 
2270 

2280 



B#l 

LOCATE ,5 

PRINT "¿Deseas grabar inform* 

ción?" 

W*=INPUT*<2) 

IF W*="NO n THEN 2000 

PRINT "Introduce in-f ormación" 

LINE INPUT A 

PRINT#1 ,A 

PRINT#1 ,IN 

FOR J=l TO IN 

FOR 1=0 TO 4 

PRINT#1 ,A ( J , I ) 

NEXT I 

NEXT J 

CLOSE#l 

CLS 

AG= M " 



PRINT "Rebobina la cinta y pu 

Isa RETURN. Voy a compro 

bar la grabación." 

IF INKEY*OCHR*< 13) THEN 21 i 0 

PRINT "Comprobando ..." 

OREN " CAS : L I BROS " FOR JNPUT AS 

#1 

LINE INPUT#1 ,AP 

IF APOA THEN 2260 

ÍNPÜT#Í ,IP 

IF IPOIN THEN 2260 

FOR J-i TO IN 

FOR 1=0 TO 4 

LINE INPUT#1 ,AP 

IF APOA(J,I) THEN 2260 

NEXT I 

NEXT J 

CLOSE#l 

RETURN 330 

PRINT 

PRINT " 
iii" 

PRINT " 



ARCHIVO MAL GRABADO 
INTENTALO DE NUEVO. 



AG="GRAB" 
A=" " 

GOSUB 2540 

IF ILO0 THEN GOSUB 1400 
OPEN^CAS^IBROS" FOR OUTPUT A 



2290 PRINT " PULSA UNA TECLA" 

2300 IF INKEY*="" THEN 2300 
2310 GOTO 1890 
2320 ' 

2330 ' RECUPERAC I ON 
2340 ' ============ 

2350 ' 

2360 60SUB 2540 

2370 OPEN"CAS:LIBROS" FOR INPUT AS 
#1 

2380 LOCATE, 5 

2390 PRINT "¿Deseas recibir in-form 

ación-?" 
2400 W*= INPUT* (2) 
2410 LINE INPUT#1 ,A 



MSX 63 



2420 
243» 
2440 

2450 
2460 
2470 
2480 
2490 
2500 
2510 
2520 
2530 
2540 
2550 
2560 
2570 
2580 
2590 
2600 
2610 
2620 
2630 
2640 
2650 
2660 
2670 
2680 
2690 
2700 

2710 
2720 
2730 
2740 
2750 
2760 
2770 
2780 
2790 
2800 
2810 
2820 
2830 
2840 
2850 
2860 
2870 
2880 



2890 

2900 
2910 
2920 
2930 
2940 



,1) 



IF W$="NO" THEN 2440 
PRINT A 
INPUT#1 ,IN 
FÜR J=l Tü IN 
IF E0F(1)=-1 THEN 2510 
FOR 1=0 TO 4 
LINE INPUT#1,A<J, 
NEXT I 
NEXT J 
CLOSE#l 
IL=0 

RETURN 330 
CLS 

PRINT "Prepara la grabadora" 
PRINT "Pulsa C RETURN 3 " 
W$=INKEY$ :IF W*=" " THEN 2570 
IF ASC(W*>=13 THEN RETURN 
GOTO 2570 

'FICHA 



LOCATE 0,22 

INPUT "Pulsa nfi + RETURN" ;NF 

GOSUB 2690 

IF INKEYS=" " THEN 2670 
RETURN 

FOR N=l 7 0 IN 

IF VAL ( A (N ,0) ) < >NF THEN NEXT 
N 

CLS 

PRINT "Nü :" ;A(N,0) 
FOR 1=1 TO 4 
PRINT 

PRINT AC(I) 
PRINT A(N,I) 
NEXT I 
RETURN 



'MODIFICACIONES 



LOCATE0,21 

INPUT "Pulsa nfl + RETURN" ;NF 
GOSUB 2690 
PRINT 
AM= " " 

INPUT "Pulsa inicial (es) de 1 
o que deseas modificar <T 

AEC) sin comas + RETURN "; 
AM 

IF LEN(AM><4 THEN AM=AM+ 11 •• :G 

OTO 2890 

CLS 

GOSUB 2690 
PRINT 

FOR NM=1 TO 4 

NI=INSTR < "TAEC" ,MID* (AM ,NM , 1 ) 



2950 
2960 
2970 
2980 
2990 

3000 
3010 

3020 
3030 

3040 
3050 
3060 
3070 
3080 
3090 

3100 

3110 

3120 

3130 

3140 

3150 

3160 

3170 

3180 

3190 

3200 

3210 

3220 

3230 

3240 

3250 

3260 

3270 

3280 

3290 

3300 

3310 

3320 

3330 

3340 

3350 

3360 

3370 

3380 

3390 

3400 

3410 

3420 

3430 

3440 

3450 

3460 

3470 

34S0 

3490 



) 

IF NI=0 THEN 2990 
PRINT AC(NI) ;■«?" 
GOSUB 3050 
A(N,NI)=A 
NEXT NM 
GOTO 2660 



' ENTRADAS 



A="" : LOCATE , ,1 

W*=INKEY*:IF W*="" THEN 3060 
IF W*=CHR*<13> THEN 3180 
IF INSTR(AE,W*)=0 THEN 3060 
IF W$OCHR$<8> THEN 3140. 
IF LEN(A)=0 THEN 3060 
PRINT W*;" " ;W*; 
A=LEFTÍ (A,LEN(A)-1) 
GOTO 3060 

IF LENCA) >«78 THEN 3060 
A=A+W* 
PRINT W$; 
GOTO 3060 

LOCATE0,CSRLIN+1 ,0 
RETURN 



'De-f. teclas de función 



RESTORE 3480 
GOTO 3270 
RESTORE 3490 
FOR 1=1 TO 10 
READ A 
KEY I ,A 
NEXT I 
RETURN 



* Interrupc iones 



U=USR1 (0) 
CLS 

LOCATE ,,0 
POKE ?<HFCAB,255 
STOP 

GOTO 240 

IF ERR=14 THEN ER"¿ = 1 

RESUME 330 

MOTOR 

RETURN 

RETURN 330 

DATA 3E ,00 ,CD ,32 ,01 ,C9 
DATA Alt/Baj ,List A. ,Grab A. , 
Rec A . , , Motor ,Menú ,Fin , , 
DATA Num . ^Títulos , Autores ,Sel 
ecc ,Mod if . , Motor ,Menú ,Fin , , ' 



LOS JUEGOS ELECTRONICOS 



64 MSX 



■ 



• INTERCAMBIO juegos de 
cartucho. Interesados escribir 
a: Juan José Ritoré. García de 
Paredes, 19. 06006 Badajoz. 

• CAMBIO/VENDO progra- 
mas. Escribir a: Luis A. de la 
Fuente. Gran Capitán, 3-5 2.° 
Derecha. 37005 Salamanca. 

• VENDO ordenador SVI-328 
con 605 Expander + progra- 
mas (Wordstar, Turbo Pascal, 
Cobol, Forth, Fortran 80 y jue- 
gos) + cable Centronics. Todo 
por 70.000 ptas. (o mandar 
ofertas). Escribir a: Salvador 
Martínez. Peñalara, 23, 2.° A. 
Tres Cantos (Madrid). 

• INTERCAMBIO programas. 
Escribir a: Javier Cabrera Ló- 
pez, Z.R. Los Angeles, 1, 4.° A. 
Estepona (Málaga). 

• CAMBIO/VENDO progra- 
mas para MSX. Escribir a: Mi- 



guel Moreno. Cataluña, 48. El 
Prat de Llobregat. 08820 Bar- 
celona. 

• VENDO enciclopedia de la 
Informática BASIC (Ed. Fo- 
rum), 6 tomos BASIC encua- 
dernados, más 3 tomos BASIC 
Advanced. Todo al 60% del va- 
lor real. Impecable estado. Es- 
cribir a: Jesús Blanch. Central 
Telex Telégrafos. Plaza País 
Valenciano. 46002 Valencia. 

• VENDO Spectravideo SV- 
328, cassette y revistas, por 
40.000 ptas. Llamar a Montse 
Sala al Tel.: (93) 427 39 50. 

• CAMBIO/VENDO toda clase 
de programas. Escribir a: 
Francisco Tomás Sánchez 
Marín. Río Segura, 11. 30600 
Archena (Murcia). 

• BUSCO la cinta-programa 
de la Tableta Gráfica del Spec- 



travideo SVI-105. Escribir a: 
Carlos Martínez Martínez. Ca- 
llejón del Moro, 1. Huete 
(Cuenca). 

• VENDO ordenador Spectra- 
video 729 MSX nuevo. Incluyo 
Base de Datos, programas y li- 
bros. Todo por 50.000 ptas. 
Llamar a Francisco Gutiérrez 
Soto al Tel.: (91) 666 24 24. 

• DESEO contactar con usua- 
rios MSX y con toda clase de 
clubs para intercambiar pro- 
gramas. Interesados escribir 
a: Daniel Rincón Prada. Paseo 
San Raimundo, 41. Fitero (Na- 
varra). 

• DESEARIA contactar con 
usuarios del MSX. Escribir o 
telefonerar a: Angel Ramón 
Pérez Corzo. García Lorca, s/ 
n. Arroyo de San Serván (Bada- 
joz). Tel.: (924) 34 2¿ .8. 



ANUNCIOS GRATUÍT OS 

Todos los anuncios (compras, ventas, cambios o comunicaciones de clubs de usuarios, etc.) que van en esta sección. 
' deben tener un máximo de cuarenta palabras Con el fin de facilitar la transcripción de los anuncios hemos recuadrado 
I cuarenta espacios para que en cada uno vaya una palabra Después, recortar y mandar a 

ANUNCIOS GRATUITOS 

C/ Bravo Murillo, 377. 5 o A 
28020 MADRID 



] 



L 



Rincón 



PUBLICACIONES SOBRE 
PROGRAMAS DE 
APLICACION 

Soy propietario de un Toshiba 
HX-1 0 y me dirijo a ustedes con el 
fin de que me informen sobre li- 
bros y publicaciones sobre pro- 
gramas de contabilidad, archivos, 
facturación, etc. 
J. Ernesto Prieto 
Vigo 

No existe mucha bibliografía so- 
bre programas de gestión y espe- 
cialmente dedicada al estándar 
MSX. En realidad, lo poco que hay 
en el mercado lo comercializan 
tres editoriales muy introducidas 
en este campo que son: Anaya 
Multimedia, Paraninfo y Ra-Ma. 

Anaya tiene un amplio abanico 
de posibilidades, que incluso llega 
a tocar temas tan específicos co- 
mo los referentes al IBM PC, pero 
dudamos que haya algún libro es- 
pecífico sobre programas de ges- 
tión para MSX. En cuanto a Para- 
ninfo y Ra-Ma, no estamos muy 
seguros de que hayan publicado 
algo referente al tema. De cual- 
quier manera, Ra-Ma que suele 
publicar libros muy interesantes 
(aunque los buenos están en in- 
glés) puede tener el libro que bus- 
cas. 

Las direcciones de las tres edi- 
toriales son las que a continuación 
te indicamos. Ellos, pueden orien- 
tarte mucho mejor, ya que están 
en constant renovación. En los ca- 
tálogos que publican (no sabe- 
mos si mensual o bimensual) apa- 
recen las últimas novedades, tanto 
en Inglaterra como en nuestro 
país. 
Ra-Ma 

Ctra. de Canillas, 144 
28043 Madrid 

Anaya Multimedia 
Villafranca, 22 
Tel. 245 82 05 
28028 Madrid 



jdel lector. 



Paraninfo, S.A. 
Magallanes, 25 
Tel. 446 33 50 
28015 Madrid 

EL SIMBOLO «#» 

Me dirijo a ustedes para pla- 
tearles una simple y corta cues- 
tión. ¿Cuál es el significado en el 
MSX del signo «#»? ya que el BA- 
SIC lo interpreta igual que otros 
caracteres. 

Xavier Casajuana 
Barcelona 

El símbolo no tiene ningún 
significado especial en el BASIC 
MSX. Simplemente es uno de los 
caracteres que no son interpretados 
por el BASIC, por lo que no produce 
un error cuando se teclea en modo 
directo y se pulsa la tecla RETURN. 



CONTROLAR LA IMPRESORA 

Tengo un Spectravídeo 728 y 
una impresora Star SQ-10, estoy 
intentando realizar un programa 
para escribir textos y me encuen- 
tro ante el problema de no saber 
cuándo la impresora se encuentra 
«ON LINE», es decir, preparada 
para recibir un carácter. Agrade- 
cería que me indicasen cómo 
puedo comprobar si la impresora 
está lista para recibir ün carácter. 

Joaquín S. Maza 

Las Palmas de Gran Canaria 

Aunque el BASIC no dispone de 
una función que permita comprobar 
el estado de la impresora, en el 
BIOS (rutinas utilizadas por el siste- 
ma operativo) existe una rutina que 
permite comprobar si la impresora 
está lista para recibir un carácter. 

Esta rutina empieza en la direc- 
ción AB hexadecimal y puede ser 
llamada desde un pequeño progra- 
ma en código máquina. Al retornar 
esta rutina, devolverá un 255 en el 
acumulador y un 0 en el flag Z si la 
impresora está preparada, en caso 



contrario, devolverá un 0 en el acu- 
mulador y un 1 en el flag Z. 



MAPA DE MEMORIA Y 
VARIABLES DEL SISTEMA 

Soy un asiduo lector de vuestra 
revista. Poseo un ordenador 
Spectravídeo 728 y aunque mi afi- 
ción ha estado siempre enfocada 
al terreno de las aplicaciones, últi- 
mamente estoy verdaderamente 
interesado en programar vídeo 
juegos, pero mis posibilidades se 
ven ampliamente mermadas, ya 
que al no disponer de informa- 
ción sobre el sistema de pagina- 
ción de memoria, no puedo alma- 
cenar una pantalla en SCREEN 2 
directamente. Agradecería que 
me indicasen dónde puedo con- 
seguir una lista de las variables 
del sistema y cómo almacenar di- 
cha pantalla. 

Francisco Martínez 
Cádiz 

Anaya Multimedia y Ferré Moret 
son las dos editoriales que publi- 
can los libros más prácticos del 
mercado. No tienen mucha paja y 
van directamente a las aplicacio- 
nes interesantes (como los de Fe- 
rré Moret). 

En cuanto a la información que 
necesites sobre las variables del 
sistema, esta la hallarás en cual- 
quiera de los libros siguientes: 

-MSX, Guía del programador y 
manual de referencia (Ed. Anaya 
Multimedia). 

—MSX, lenguaje máquina (Ed. Fe- 
rré Moret). 

—MSX. Gráficos y sonidoi (Ed. Fe- 
rré Moret). 

Salvar pantallas directamente no 
es posible, ya que la VRAM no está 
paginada como el resto de la me- 
moria. Una buena solución es utili- 
zar las rutinas del BIOS para trasla- 
dar la memoria de pantalla a una zo- 
na de la RAM y grabarla como códi- 
go máquina. 



para 



estudian**; 



iodeam 



se 



/wfto. 



2.990 
ptas- 




estadística^» 
. OS (sistema opei 

fc^^nt. I - 
Duración apr« 



"^ lCa) " vo Mgebtáico) 








M cmot.a ilcu \.,scn 
Conversones ^ mal .oc, a > 
binario. n<- x 



1 94 función» Y , Vcu \o en 
Convets.o^^!na^-» 1 
binan 0 -", 

WjBT 5,590^ 



L \amite ^ s ep C|ramae>on 
i 5 pasos * e ¿_¿M«« 

Cont nesc'enui'cas 
aí funcione» 

6.590 pw* 



jdcConsumo-Ví 





"IMPRESORAS PARA TODOS" 



MP • 1300 "PARA TU PC" 

• Impresora matricial con más dé 200 tipos de letra y opción de color. 

• 300 cps en standard. 64 cps en alta calidad. 

• Velocidad de homologación 10.468 cpm al 100% y 2.549 cpm al 10% 

• Carro 10 pulgadas. Mod. MP-5300 carro de 15 pulgadas 

• Tracción y fricción. Carga de papel posterior e inferior. 

• Introductor automático de documentos hoja a hoja. 

• Dos interfaces incluidas, paralelo Centronics y RS-232 

• Buffer de 10K (7K con caracteres programables). 

• Gran variedad de caracteres y gráficos. 

• Dos modos de impresión: IBM y EPSON. 

• Más de 256 caracteres programables. 

• Fijación de márgenes en el panel frontal. 

• Volcado de datos en hexadecimal. 
Accesorios opcionales: 
MP 13051 Cartucho de tinta negra. 
MP-13055 Cartucho de tinta de cuatro colores 
MP-13009 Introductor automático de papel 
MP 13005 Kit de color 

BP - 5420 "PARA TU ORDENADOR 

• Impreso, matricial con más de 150 tipos de letra. 

• Tipos de letra seleccionados por Hard. y Soft. 

• 420 cps er standard, 104 cps en alta calidad. 

• Velocidad de homologación 20.104 cpm al 100% 
y 4.956 cpm al 10%. 

• Máximo de carro 15 pulgadas. 

• Dos modos de impresión: IBM y EPSON. 

• Tracción y fricción. Carga de papel posterior e inferior. 

• Volcado de datos en hexadecimal. 

• Dos interfaces incluidas, 
paralelo Centronics y RS-232. 

• Buffer de 18K. 

• Fiabilidad: Tiempo medio entre fallos 800 h. 

• N° medio de caracteres entre fallos 200.000.000 



MP 1300 P.V P 

IVA NO INC 



MP 5300 P.V.P. 149.900 Pts 

IVA NO INCl UIDO 



Accesorios opcionales: 

BP- 54051 Cartucho de tinta. 

BP CSF Introductor automático de papel. 



SP ■ 1000 "PARA TU MICRO 

• Matriz de impacto (9-pins)/10 pulgadas (Bidirec- 
cional optimizada). 

• 100 cps en standard, 24 cps en alta calidad. 

• Velocidad de homologación 4.339 cpm al 100% 
y 1.274 cpm al 10%. 

• Gran variedad de tipos de caracteres. 

• 96 caracteres en RAM, programables por el 
usuario, (del 32 al 127). 

• Todos los tipos de letra definibles con un solo 
byte. 

• Función de fijación de márgenes a derecha e 
izquierda. 

MODELOS SERIE SP 

SP 1000 AS RS-232 versión serial. 
SP 1000 VC Commodore compatible con C-64/VIG20. 
SP 1000 AP Apple II y Mac. Compatible con Macintosh. 



55 




P.V.P. 339.900 Pts. 

IVA NO INCLUIDO 



Tracción y fricción, introductor automático de 

papel hoja a hoja. 

Larga vida del cartucho de tinta. 

Compatible paralelo Centronics. 

Volcado de datos en hexadecimal. 

P.V.P. 57.500 Pts. 

IVA NO INCLUIDO 

Accesorios opcionales 

SP-80051 Cartucho de tinta. 

SP-80010 Interface serial. 

SP-CS Introductor automático de documentos. 



SP 1000 MX Compatible con todos los ordenadores de norma MSX 
SP 1000 CPC Compatible con los ordenadores AMSTRAD. 
SP 1000 I Compatible con IBM-PC. 




Periféricos 
de Etiqueta 



Blasco Ibáñez, 116 Tel. (96) 372 88 89 Telex 62220 DIRA E 46022- VALENCIA 
Agustín de Foxá. 25-3°A Tels. (91) 733 57 00-733 56 50 28036MADRID 
Muntaner, 60-2°-4* Tel. (93) 323 32 19 0801 1BARCELONA 
Artazagone, 9 Tel (94) 463 18 05 ■ LEJONA (Vizcaya) 

Urbanización Mavber. 7 Tel (922) 26 01 75 ■ Ctra. a Geneto LA LAGUNA (Tenerife)